Перевод алгебраического выражения из префиксной формы в инфиксную PASCAL
Форумчане, спасайте, у меня уже мозг плавиться.
первое что в голову пришло
представляете в двоичное дерево
а дальше вывод рек алгоритмом
левая ветка знак правая ветка
если вывести как префиксную то сначала знак потом левую потом правую и тп
но наверно можно и проще )))
сейчас некогда думать
вот тут еще почитайте
http://algolist.manual.ru/syntax/
Ползёшь слева направо по своему выражению в постфиксной форме (abc+* это постфиксная) если следующий элемент - опреранд, толкаешь его в стек, если операция - вынимаешь из стека её операнды (один или два - в зависимости от типа) и загружаешь на стек "результат" выполнения операции (это может быть дерево или просто строка). В конце работы алогритма у тебя будет на стеке единственный элемент - финальное дерево или строка.
Для префиксного выражения (*a+bc) делается без стека, так как мы знаем, какие операнды идут за каждой конкретной операцией.
Спасибо за помощь))))) Всетаки через стек сам допер, это ж блин элементарно оказывается.
но тут даже наверно мы не выйграем в простоте