Musisz pisać czytelniej i nie nazywaj stosu abc, nie pisz 5 instrukcji w 1 linii, bo nie da się potem tego debugować.
Wydaje mi się 3 rzeczy:
1 - nie czyścisz stosu abc jak znajdziejsz zły wynik.
2 - Breakujesz, nawet gdy znajdziejsz dobry nawias, a powinieneś tylko gdy znajdziejsz zły.
3 - Bez sensu pisać if(!ok) - NIE, else - TAK, lepiej napisać if(ok) - TAK, else NIE
Wydaje mi się, że o to chodzi. Popraw kod, będzie łatwiej degugować.