kirill_782
@kirill_782
Днем я Маринетт

Как разобрать унарный оператор в обратной польской нотации?

Делал ОПН по этой статье: https://m.habr.com/post/282379/. Все хорошо, но алгоритм не верно работает с угарным отрицанием. Как исправить?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Все хорошо, но алгоритм не верно работает с унарным отрицанием.

Он и не рассчитан на работу с унарным отрицанием.
Как исправить?

Проще всего -- введя для унарного отрицания специальный символ, отличный от остальных операторов.
Иначе придётся вводить дополнительное состояние -- был ли предыдущий символ и был ли он оператором, и если так, то трактовать непосредственно следующий за ним оператор '-' как унарный.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Добавляйте свой оператор или функцию, и обрабатывайте.
(Из "коробки" ОПН не работает с унарным отрицанием)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы