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