C# Advanced Exam 11.02.2018 - Задача 1 "KeyRevolver"
Здравейте колеги,
Някой може ли да погледне това решение --- https://pastebin.com/bx232ZqQ --- и да ми каже, защо при Stack.Count = 0 или Queue.Count = 0, продължава да влиза в while (bulletsStack.Count > 0 || bulletsStack.Count < barrelSize || locksQueue.Count > 0) и след това гърми с Runtime Error "Stack/Queue is empty" при вътрешната проверка.
Благодаря,
Не е това, защото точно това искам да е условието --- 1 от посочените 3 да е "true" и да влезе в цикъла.
При debug се вижда, как count става = 0, но въпреки това влиза вътре, стига до проверката --- if (bulletsStack.Peek() <= locksQueue.Peek()) --- и гърми с Stack is Empty или Queue is Empty, в зависимост от input-a.
При положение, че е = 0, а в горното условие ( на while() цикъла има проверка, дали count е по-голямо от 0....
Ако имаш 1 куршум и 0 ключалки ти ще продължиш цикъла и като извикаш Peek при размер 0 гърмиш, заради това условието ти трябва да е с &&.