![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
mirtan |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Ярослав Репутация: ![]() ![]() ![]() |
Всем привет. Задача следующая.
Сформировать очередь елементами которой есть цифры и арифметические знаки. Нужно вывести результат. Пробовал сделать, но у меня почему-то выводится самый последний символ в очереди вместо результата. Скорей всего ошибка детская, но в теме немного не разобрался :// Вот текст программы: Program lab13z; Зарание спасибо за помощь. Сообщение отредактировано: mirtan - 25.01.2010 22:09 |
![]() ![]() |
mirtan |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Реальное имя: Ярослав Репутация: ![]() ![]() ![]() |
Очередь я представляю как одна из разновидностей линейного списка, все елементы которого добавляются в конец, а считываются с начала списка. Да именно под абревиатурой FIFO.
Я себе представляю это так: 1) создается новый динамический обьект; 2) указатель равняем nil; так как следующего обьекта пока что вроде нету. Вводим данные в очередь символы. 1) Если является цифрой от 0 до 9, то проделывая cfr:=ord(symb)-48+cfr*10 мы переводим в число, если у нас идут несколько цифр подряд. Вставляем в очередь и после этого приравниваем к 0, чтобы можна было перепроверять последующие цифры. 2) Если мы имеем другой символ - просто вставляем его в очередь. Повторяем операцию, пока не встречаем символ =. 3) А вот дальше я не совсем понимаю принцып. Вроде как сперва берем елемент а, после него идет символ. С помощью кейса вводим операции для каждого символа. Ну и потом берем елемент б с которым будем проводить операцию. Результат присваиваем а и выводим его на экран. Собственно тут какойто бред выходит. Нет, код мне писать не нужно)) Если вдруг на экзамене попадется. Хочу разобратся. |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 17:36 |