1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Бунтарь |
22.12.2010 0:24
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Lex Репутация: 0 |
Здравствуйте! Подскажите как разобрать всю кашу %%)
Просмотрел все темы форума, но всё не то... Исходное условие задания: Написать программу, вычисления значения выражения представленного в виде польской записи (постфиксной записи). Выражение состоит из цифр от 1 до 9 и знаков операций.(к примеру (a+b)*c в выражение ab+c*). Просматривая строку, анализируем очередной символ, если это: - цифра, то записываем её в стек; - то читаем 2 элемента из стека, выполняем математическую операцию, определяемую этим знаком, и заносим результат в стек. После просмотра всей строки в стеке должен оставаться один элемент, он и является решением задачи. (Процедура Val (s,x,k) преобразует символьное представление цифры s в соответствующее числовое значение. При этом k=0, если такое преобразование возможно, в противном случаи k>0) Задачу нужно реализовать в динамике, я реализовал в статике (массивы), помогите с динамикой - не знаю как. А теперь что у меня получилось ( в статике): Uses CRT;[code] |
![]() ![]() |
| volvo |
22.12.2010 12:04
Сообщение
#2
|
|
Гость |
Цитата помогите с динамикой - не знаю как. Реализовать стек не с использованием массива, а с использованием динамической памяти. Цитата Просмотрел все темы форума Значит, не все темы просмотрел... Есть же задача, вычисляющая значение постфиксного выражения:Задача на Обратную Польскую Нотацию (постфикс) Оттуда можешь взять реализацию стека в динамике. Замени свою реализацию Push/Pop на приведенные по ссылке - будет у тебя динамика (если, конечно, где-то в программе еще не используется обращение напрямую к массиву, заменяющему стек... Если используется - меняй на работу через функции) |
Бунтарь Стек.Польская запись.Вычисление значения. 22.12.2010 0:24
TarasBer Для динамики стек придётся реализовывать так:
ty... 22.12.2010 12:20
volvo Еще желающие зайти и продублировать способ реализа... 22.12.2010 12:23
TarasBer Я открыл страницу (твоего поста ещё не было) и ото... 22.12.2010 12:54![]() ![]() |
|
Текстовая версия | 13.12.2025 5:50 |