Обратная польская нотация

Реализуйте две функции соответствующие описаниям и продемонстрируйте их работу:

  • Первая функция принимает на вход строку с выражением заданным в инфиксной нотации и возвращает строку преобразованную в обратную польскую нотацию (ОПН).
  • Вторая функция принимает на вход строку в ОПН и возвращает число являющееся результатом принятого на вход выражения.

Для решения поставленной задачи воспользуйтесь стеком. Один из вариантов алгоритма преобразования выражения из ИН в ОПН приведён здесь.
Обратите особое внимание на оператор возведения в степень.

Формат ввода
В единственной строке задано выражение в инфиксной форме записи. Выражение может содержать: числа (десятичный разделитель точка), круглые скобочки, бинарные операторы (+, -, *, /, ^). Элементы выражения разделены одним пробелом. Гарантируется, что выражение не содержит ошибок.

Формат вывода
В первой строке выведите выражение в ОПН. Во второй строке выведите число являющееся результатом исходного выражения.

Пример 1

ВводВывод
1 + 2 − 51 2 + 5 −
-2

Пример 2

ВводВывод
3 + 4 * 2 / ( 1 − 5 ) ^ 23 4 2 * 1 5 − 2 ^ / +
3.5
Scroll Up