Witam,

Próbowałem napisać program do zamiany postaci Odwrotnej Notacji Polskiej do postaci nawiasowej. Skończyło się na dwóch próbach, jednak rozwiązanie takie w ogóle mnie nie satysfakcjonuje. Pierwszy miał postępować wg algorytmu obliczania wartości ONP, jednak na stosie typu string nie mogłem odkładać pojedynczego znaku. W drugim wrzucałem całe składniki wyrażenia na stos. Dopóki stos nie był pusty, pobierałem wierzchołek do zmiennej tmp. Jeśli tmp == opeand to wrzucałem tmp na drugi stos. Jeśli token, to do tmp2 zapisywałem wierzchołek drugiego stosu. Następnie do trzeciego tmp zapisywałem wierzchołek stosu pierwszego. Wyrażenie infix = ( + tmp3 + tmp2 + tmp + ) + reszta. Strasznie kulawe i nie działało jak trzeba.
Można to napisać w miarę krótkim i wyraźnym kodem? Zależy mi na prostocie i skuteczności działania. Z góry dziękuję za pomoc.