Enigmanation - задача от бгкодер
Здравейте, колеги
При подготовката си за изпита попаднах на задача от бгкодер с име Enigmanation (условието тук: цък) (която е давана преди година-две на изпит в телерик) и отделих скромните 6 часа + за да я реша, но за съжаление не успях.
С две думи логиката е следната: програмата отделя всеки знак или число като елемент на масив, а при наличие на скоби ги преобразува, така че да върнат стойността вътре в скобите. По този начин: "1*2+3*(4+5*6)=" създава масив от стрингове: {"1", "*", "2", "+", "3", "*", "34", "="}. При наличие на - или + действието се извършва накрая, затова всичко преди и след +ът или -ът става отделен елемент и накрая според знака се извършва необходимото действие.
Проблемът е, че при въвеждане на скоби ако след скобите има други числа/знаци програмата гърми. Тоест: "1*2+3*(4+5*6)=" работи коректно, но "3*(4+5*6)+1*2=" - гърми. Не знам дори дали е нещо малко или цялата ми логика е грешна.
Ето линк към кода, бая дългичък е, но ако се намери някой добър самарянин да помогне съм склонен да го черпя една бира : цък.