299 / 75 / 6
Регистрация: 23.11.2009
Сообщений: 25
|
||||||
1 | ||||||
Преобразование инфиксной записи в префиксную09.01.2010, 14:52. Показов 20209. Ответов 3
Метки нет Все метки)
(
Преобразовать выражение в инфиксной форме в префиксную .Операнды представляют собой переменные с однобуквенным идентификатором или (и) цифры от 0 до 9, и в выражении используются только операции «+», «-», «*», «/». Реализовать с помощью стека.
Очень прошу помочь. Добавлено через 16 минут Реализация данной задачи есть в Delphi (а мне необходимо именно в Pascal, можно без дерева операций) ![]()
0
|
|
09.01.2010, 14:52 | |
Ответы с готовыми решениями:
3
Преобразование выражения из инфиксной формы в префиксную, используя списки Преобразование в постфиксную запись из инфиксной Преобразование арифметического выражения из инфиксной в постфиксную форму записи
|
MrTi
|
|
23.05.2010, 15:23 | 2 |
Алгоритм вычисления постфиксной формы записи из инфиксной:
К формуле на входе (в конец записи) и на вершину стека добавляем остановочный оператор – %; Поэлементно слева направо идем по формуле; Операнды переходят в результат; Левые круглые скобки толкаем(push) в стек; Встретив правую круглую скобку, выталкиваем(pop) из стека все операторы пока не встретим левую скобку; Если оператор имеет более высокий приоритет вычисления, чем оператор на вершине стека, то оператор толкаем в стек; Если оператор имеет равный или меньший приоритет вычисления, чем оператор на вершине стека, то выталкиваем оператор из стека в результат, и толкаем в стек новый оператор; Достигнув на входе % – остановочный оператор, выталкиваем все из стека, пока не дойдем до %. Алгоритм вычисления префиксной формы записи реализуется следующим образом: Имеем на входе формулу в инфиксной форме: a+b/(c-d); Перепишем формулу справа налево: (d-c)/b+a; Воспользуемся алгоритмом постфиксной трансляции, получим: dc-b/a+; Полученную формулу перепишем справа налево, получим формулу в префиксной записи: +a/b-cd. НАшел в сети. Может поможет!!!! |
299 / 75 / 6
Регистрация: 23.11.2009
Сообщений: 25
|
||||||
23.05.2010, 17:56 [ТС] | 3 | |||||
![]() Решение
Может быть кому-нибудь понадобится
![]()
2
|
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 15
|
|
30.04.2020, 01:44 | 4 |
Не хотелось бы обламывать всех читающих это, но при преобразовании в инфиксную форму выражения A+B+C+D вышеописанным способом мы получаем +A+B+CD хотя правильный вариант это +++ABCD. Короче данный способ работает не всегда не знаю почему так и на всех сайтах пишут что он рабочий,хотя и других способов я не нашёл...
0
|
30.04.2020, 01:44 | |
30.04.2020, 01:44 | |
Помогаю со студенческими работами здесь
4
Заменить постфиксную пеменную на префиксную Перевод из инфиксной записи в префиксную (и наоборот) Перевод из инфиксной записи в постфиксную
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |