Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Александр30
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 14
#1

Обратная польская запись - C++

12.07.2013, 00:11. Просмотров 2543. Ответов 2
Метки нет (Все метки)

Подскажите, как по обратной польской записи выражения построить дерево выражения



Например:
дана запись 1 2 + 3 4 * -


выход:
дерево
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 00:11     Обратная польская запись
Посмотрите здесь:

Тригонометрия и обратная польская запись - C++
Как работает польская запись - понятно, однако как добавить к примеру sin(a), чтобы его не выводило, как sina, а чтобы просто посчитало?

Обратная польская запись (ОПЗ) на С++ - C++
Пожалуйста помогите!!!! не знаю что мне сделать с этими задачами=((((( A. Обратная польская запись (ОПЗ). Постфиксной формой записи...

Калькулятор: обратная польская запись - C++
Всем доброго времени суток! Решил написать для себя калькулятор, который бы решал сложные выражения с учетом скобок, каких-либо функций и...

Калькулятор (обратная польская запись) - C++
Есть калькулятор к нему нужно добавить "(", ")".Погуглив понял, что нужно внедрять обратную польскую запись.Помогите внедрить или...

Обратная польская запись (порт с Java) - C++
Всем привет! Написал порт обратной польской записи (портировал со своего проекта на Java),но код не работает, можете подсказать, в чём...

Дополнение к калькулятору, обратная польская запись - C++
Прошу помощи! Вопрос жизни и смерти( Нужно создать класс постфиксных калькуляторов, использовать алгоритм вычисления постфиксных...

Перевод инфиксного выражения в постфиксное (обратная польская запись) - C++
Всем привет! Надо с помощью стека на динамическом массиве реализовать перевод инфиксного выражения в постфиксное. (обратная польская...

Обратная польская запись.Написал программу по алгоритму.Нужно кое-что изменить - C++
Преподаватель дал мне "алгоритм" и сказал написать программу по этому алгоритму. "Алгоритм":Нам понадобится стек для переменных типа...

Обратная Польская Нотация - C++
Пытался реализовать ОПН....ничего не вышло,обращаюсь за помощью: в чем ошибка(и)? #include <iostream> using namespace std; ...

Обратная польская нотация через структуру - C++
есть такая структура, как через нее сделать ОПН? /*ФУНКЦИЯ ДОБАВЛЕНИЯ ЭЛЕМЕНТА В СТЕК*/ void push(STACK *&Top, int nValue) { STACK...

Польская запись - C++
Здравствуйте, у меня возникли некоторые проблемы с данной задачей(если сказать точнее, то я ее вообще не понял): Дано выражение...

польская запись - C++
как написать программу,которая математическое выражение переводит из обычного запися в польскую запись с помощью стека?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
12.07.2013, 00:45     Обратная польская запись #2
http://habrahabr.ru/post/100869/

Добавлено через 5 минут
Обратная польская запись
Перевод инфиксного выражения в постфиксное (обратная польская запись)
Задача "Калькулятор"
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
12.07.2013, 10:27     Обратная польская запись #3
Цитата Сообщение от Александр30 Посмотреть сообщение
Подскажите, как по обратной польской записи выражения построить дерево выражения
Переформулирую: как, зная обход бинарного дерева в обратном порядке (левый-правый-корень), восстановить это дерево.

Алгоритм тривиален:
(вариант №1: идем по выражению слева направо)
1. восстанавливаем левое поддерево (рекурсия)
2. восстанавливаем правое поддерево (рекурсия)
3. вытаскиваем из обхода корень дерева (т.е. знак операции)
4. соединяем его с найденными поддеревьями.

(вариант №2: идем по выражению справа налево)
1. вытаскиваем из обхода корень дерева (знак операции)
2. восстанавливаем правое поддерево (рекурсия)
3. восстанавливаем левое поддерево (рекурсия)
4. соединяем потомков с корнем.

Но над реализацией надо немного подумать (я не указал когда вытаскиваются числа из обхода). Думайте.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru