1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 28
|
|
1 | |
Обратная польская запись20.07.2013, 15:52. Просмотров 14156. Ответов 8
Метки нет Все метки)
(
Простите что не совсем в том разделе, просто его больше всего людей посещает)
По теме: Как при вычислении выражения из строки записанной в ОПЗ отличить унарный минус от бинарного? Как отличить их при переводе строки в ОПЗ я знаю, просто не могу понять как не применяя никаких спец. уловок, из чисто поданной на вход строки УЖЕ записанной в ОПЗ отличить унарный минус от бинарного? Или еще хуже, если их несколько в строке. Пример (-8)*(-9). ОПЗ этого выражения 8-9-*, как это посчитать?
0
|
|
20.07.2013, 15:52 | |
Обратная польская запись Обратная польская запись
|
|
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 28
|
|
20.07.2013, 17:32 [ТС] | 3 |
а если не я допустим перевожу в опз? если я получил готовую строку в опз, с такими минусами, и нужно просто вычислить ее? то отличить унарный от бинарного невозможно?
0
|
160 / 101 / 14
Регистрация: 17.10.2012
Сообщений: 488
|
|
20.07.2013, 17:38 | 4 |
Так получается, что в конце программа ожидает знак оператора, таким образом мы используем один символ для обоих минусов. Получается
5-4-- (-5) - (-4) 5-4- (-5) - 4
0
|
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 28
|
|
20.07.2013, 17:59 [ТС] | 6 |
а если это не в конце будет? где-то посреди строки?
Добавлено через 54 секунды Jupiter, спасибо, так и буду делать наверное
0
|
Higher
|
|
21.07.2013, 00:01 | 7 |
0
|
620 / 474 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
21.07.2013, 00:47 | 8 |
Когда разбираешь ОПЗ, смотри на шаг вперёд, если стоит оператор, то унарный, если стоит перменная, то бинарный.
0
|
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 28
|
|
21.07.2013, 12:24 [ТС] | 9 |
Wolkodav, пост номер 4, посмотри последний пример
Добавлено через 3 минуты diagon, там идет разбор из инфиксной формы, я же спрашивал что делать если выражение уже в опз. Ну впрочем, тему можно считать закрытой.
0
|
21.07.2013, 12:24 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Обратная польская запись Обратная польская запись Обратная польская запись Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |