Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Тимур Абдрахимов Ученик (103), на голосовании 3 недели назад
Голосование за лучший ответ
Максим (barvizyy) Знаток (380) 1 месяц назад
Алгоритмом Шунта, привёл его ниже.
1. Создайте два стека: один для операторов и другой для результата.
2. Обрабатывайте выражение слева направо:
- Если встречаете операнд (число или переменную), добавьте его в выходной результат.
- Если встречаете оператор, то:
- Пока верхний элемент стека операторов имеет больший или равный приоритет, извлеките его из стека и добавьте в результат.
- Поместите текущий оператор в стек.
- Если встречаете открывающую скобку (, добавьте ее в стек.
- Если встречаете закрывающую скобку ), извлекайте операторы из стека в результат до тех пор, пока не встретите открывающую скобку. Удалите открывающую скобку из стека.
3. После обработки всего выражения: извлеките все оставшиеся операторы из стека в результат.
Тимур АбдрахимовУченик (103) 1 месяц назад
лучший
АндрейВысший разум (460801) 1 месяц назад
Наглядный пример того, что нейросеть не понимает смысл даваемого ответа. Пишет про "алгоритм Шунта" и два стека и тут же даёт описание алгоритма сортировочной станции, использующего один стек.
https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D0%B0%D0%BD%D1%86%D0%B8%D0%B8
Андрей, более примечательно, что ни тупой бот, скопировавший ответ, ни автор вопроса тоже не понимают смысл ответа. Апофеозом будет, если и преподаватель, которому это сдадут, тоже не поймёт смысл ответа. Какие-то буквы и умные слова есть - и ладно.
Похожие вопросы