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

работа со стеком. ввод символов и их обработка. вычисление постфиксных выражений - C++

Восстановить пароль Регистрация
 
Wins_swg
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 3
27.12.2009, 12:40     работа со стеком. ввод символов и их обработка. вычисление постфиксных выражений #1
Задача: Вычисление постфиксных выражений (работа со стеком)

Постановка задачи:

Постфиксное выражение являет собой символьную строку, которая состоит из цифр, пробелов и знаков арифметических операций (+,-,*,/,%). Строка заканчивается нулевым символом (`\0`) и вводится пользователем. Необходимо написать функцию, которая вычисляет значение этого выражения. Алгоритм ее работы состоит в том, что:

Пока текущий символ не заключительный, обрабатываем его {
Если текущий символ является цифрой, то
вычислить цифровое значение символа и поместить его в стек.
Иначе если текущий символ является знаком операции, то
вытолкнуть из стека два последних элемента в переменные Х и Y;
вычислить выражение (y операция x);
поместить результат в стек.
Иначе - не обрабатывать текущий символ.
}
Вытолкнуть элемент со стека и возвратить его значение.


Цифровое значение символа - это код символа минус код символа `0`.
Для реализации этого алгоритма необходимо написать функции push, pop, которые соответственно помещают и вытягивают значение из стека. Программа должна прочитать постфиксное выражение со стандартного входного потока, вызвать функцию, которая вычисляет его значение, и поместить полученный результат в стандартный выходной поток. (то есть вывести).

Необходимо предусмотреть, что аргументы могут состоять из более чем одной цифры (тип int).


Помогите пожалуйста решить эту задачу!!! Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2009, 12:40     работа со стеком. ввод символов и их обработка. вычисление постфиксных выражений
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru