Normal - RPN конвертация - PullRequest
       1

Normal - RPN конвертация

3 голосов
/ 13 февраля 2010

Есть ли способ интерпретировать "нормальные" математические обозначения в обратной польской записи (RPN) ..? например 1) 2 + 3 * 4 - 1 = 234 * + 1- 2) 5 (4-8) = 548-

Вы можете предположить, что соблюдается правило BODMAS, и что сначала необходимо вычислить внутренние скобки и т. Д. Я имею в виду обычные математические вычисления, которые должны применяться здесь ... Ответ должен быть в постфиксной нотации. Спасибо

Ответы [ 2 ]

4 голосов
/ 13 февраля 2010

Да; алгоритм маневрового двора определяет, как это сделать.

Каждый раз, когда вы читаете число, поместите его в очередь вывода . Каждый раз, когда вы читаете оператор, поместите его в стек оператора . Эти две структуры составляют основу алгоритма.

1 голос
/ 13 февраля 2010

Так называемое «нормальное» строго называется инфиксная нотация . Есть также префикс и постфиксные нотации , последний - RPN.

Типичная перестановка нотации выполняется путем построения дерева разбора и обхода специально для требуемой компоновки.

Вот некоторые описания того, как это сделать: a b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...