*
/ \
+ 13
/ \
4 5
Фразы в Pascal'е
Уважаемые програмера подскажите мне как сделать чтобы программа понимала вводимые фразы, например: я ввожу "4+5" а программа выдает ответ "9". Причем она должна не ограничиваться одним действием. Заранее спасибо.
Цитата:
Originally posted by alexeyan
Уважаемые програмера подскажите мне как сделать чтобы программа понимала вводимые фразы, например: я ввожу "4+5" а программа выдает ответ "9". Причем она должна не ограничиваться одним действием. Заранее спасибо.
Уважаемые програмера подскажите мне как сделать чтобы программа понимала вводимые фразы, например: я ввожу "4+5" а программа выдает ответ "9". Причем она должна не ограничиваться одним действием. Заранее спасибо.
(4+5)*13
Разбиваешь строку на лексемы ("(","4","+","5",")","*","13") строишь дерево
Код:
поднимаясь по нему, считаешь. Вот.
p.s. русские сообщения об ошибках в кодировке cp1251
Думаю, если избавиться от механизма исключений легко переделать на паскале (там мало очень специфических для С/C++ конструкций).