Loading...
TihomirPavlov avatar TihomirPavlov 4 Точки

Имам проблем с тази задача: Problem 2 Array Manipulator

Здравейте колеги,

реших да реша тази задача Problem 2 – Array Manipulator. На VS нулевите тестове минават, но в judge ми дава Compile time error.

Вероятно имам грешка в някои цикъл?

Това е кодът ми: https://pastebin.com/H4Jb3KC2.

 

Тагове:
0
Programming Fundamentals 28/06/2018 09:12:08
TihomirPavlov avatar TihomirPavlov 4 Точки

С това решение изкарах 60/100.

https://pastebin.com/4FyawEkk

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

колега 200 реда това е безумие по-добре започни наново и прочети условието пак..

това няма дебъгване  и на изпит ще се самоубиеш страх ме е да питам колко време си го писал? :Д

примерно мога да ти кажа че проверките аз odd even можеш да ги направиш с linq  array.sum(x=>x%2!=0) или нещо такова нямам едитор но горе долу има много начини да се съкрати а и сега чета условието ти си  направил ритуално сепуко с тоя код.

имаш и неща като lastindexof като намериш even или оdd и тн и тн.

0
28/06/2018 10:15:49
TihomirPavlov avatar TihomirPavlov 4 Точки

Знам че кога е безумно дълъг, исках да пробвам да реша задачата предимно с проверки. Да я разпиша максимално подробно, за да разбера къде греша. Явно съм подходил грешно.

 

0
TihomirPavlov avatar TihomirPavlov 4 Точки

Това е новото ми решение.

https://pastebin.com/802HtKxL

Възможно ли е да ми дава Compile time error, ако го submit-вам на C#,а не на .Core?

0
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей,

при command == "exchange" на ред 23 нямаш проверка дали индекса не е по-малък от 0  

if (index >= 0 && index < arr.Count)

при command == "last" вземаш първите елементи, а не последните . По начина по който си подходил трябва да стане за

seccommand == "even" 

lastEven.Reverse();
lastEven = lastEven.Take(count).ToList();
lastEven.Reverse();

съответно за seccommand == "odd" 

 lastOdd.Reverse();
 lastOdd = lastOdd.Take(count).ToList();
 lastOdd.Reverse();

0
28/06/2018 10:52:24
TihomirPavlov avatar TihomirPavlov 4 Точки

 C TakeLast мисля, че се получава, да взема последните. Без да го ревърсвам.

lastOdd = lastOdd.TakeLast(count).ToList();

0
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Да може и така btw аз говорех за това решение: https://pastebin.com/4FyawEkk 

само че judge дава compile error с TakeLast

0
28/06/2018 12:13:26
TihomirPavlov avatar TihomirPavlov 4 Точки

Благораря за помощта :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.