[MoreExercises] Programming Fundamentals - Data Types and Variables - 15.Balanced Brackets
Здравейте, някой може ли да помогне за тази задачка: https://pastebin.com/WST8S2bZ
В judge дава 85/100. Петият тест не минава.
Здравейте, някой може ли да помогне за тази задачка: https://pastebin.com/WST8S2bZ
В judge дава 85/100. Петият тест не минава.
Проблемът идва от там, че ако се въведе затваряща скоба и после отваряща уравнението все още ще се счита за "BALANCED". Т.е. нещо от вида " ) 12 + 3 ( * 2 " е валидно. И по разбираеми причини не би трябвало да е така. Трябва да вмъкнеш една проверка дали при прочитане на затваряща скоба не има отваряща преди нея. Ако няма - трябва да се принтира "UNBALANCED".
Другият проблем беше, че ако последният символ е затваряща скоба, то няма да може да се направи "reset" на двете, защото този "reset" е в началото на цикъла, който вече е свършил. Сложих ресет-а в края на цикъла. Ето го поправения код
https://pastebin.com/FHrpnVW1
Не съм на 100% сигурен, тъй като не мога да го компилирам сега, но мисля че това, което ти липсва е проверката за вложените скоби, които по условие май бяха "забранени". Тоест ето това: 2 * (5 + 3 * ( 1 / 2 + 8)) би трябвало да е "небалансиран" израз
Изпробвах и този вход, изкарва си "UNBALANCED". Ако получа 2 еднакви скоби една след друга, проверките:
(open == 1 && close == 1)
не минават и следва да изпише "UNBALANCED".
Благодаря, сега вече дава 100 точки :)