Софтуерно Инженерство
Loading...
+ Нов въпрос
TihomirTodorov avatar TihomirTodorov 4 Точки

След стартиране на задачата от начало, с изцяло друг подход, изкарах 100/100, с това решение: https://pastebin.com/P38QJDqZ

Все пак, ще съм благодарен, ако някой помогне да разбера какъв е проблема в първото решение. Предполагам грешката е някъде тук:

long DeadPlant = posAndAmountPestPlant[j + 1];
int indexOf = listOfPlants.LastIndexOf(DeadPlant);
listOfPlants.RemoveAt(indexOf);

 

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

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

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

хм, изглежда интересно но на работа нямам Ide а такъв код в онлайн едитор не ми се пише че трудно се дебъгва.Трябва да го развъртя малко но ще стане довечера най-вероятно.

0
willystyle avatar willystyle 1228 Точки

Проблема е, че когато премахнеш растения от  listOfPlants не го отразяваш после в  posAndAmountPestPlant.

За целта един ред: posAndAmountPestPlant = new List<long>(listOfPlants);

който е или в начало на while,или веднага след for цикъла.

Това ще ти даде 88%, остава един случай, в който според мен има растения с еднакви пестициди, първото от тях не се маха, а когато махаш второто,твоето IndexOf или LastIndexOf маха другото. Затова моята препоръка е, не да правиш паралелни листове както сега, а да си наравиш един стек, в който да пълниш индексите на растения за премахване, и след обхождане на листа,да изпразваш стека като премахваш съотвените растения от листа. Задачата и без това е от раздел стекове и опашки, а и според мен това си е нормалния подход.

0
TihomirTodorov avatar TihomirTodorov 4 Точки

Да, опитах да го сложа, в while и се получи, мерси! Иначе, го направих със стек и стана лесно, https://pastebin.com/wq66mjJm

0
ReapeR_MaxPayne avatar ReapeR_MaxPayne 16 Точки

Ето и вариант с масив и List:

https://pastebin.com/B42iF5jN

0
PoliDobreva avatar PoliDobreva 1 Точки

Ето и моето решение: https://pastebin.com/FvUc1KdL

Сравнително кратко ер дано помогне :)

0