Задать вопрос
kirill_782
@kirill_782
Днем я Маринетт

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

Делал ОПН по этой статье: https://m.habr.com/post/282379/. Все хорошо, но алгоритм не верно работает с угарным отрицанием. Как исправить?
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Алгоритмы и структуры данных
    4 месяца
    Далее
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Skillbox
    Архитектор ПО
    4 месяца
    Далее
  • Яндекс Практикум
    Java-разработчик плюс
    14 месяцев
    Далее
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Все хорошо, но алгоритм не верно работает с унарным отрицанием.

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

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

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

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