![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
![]()
Доброго времени суток!
Разбираюсь со стеками и очередями на примере следующей задачи: “Дан стек, элементами которого являются действительные числа. Сформировать структуру данных очередь, в которую включить значения тех элементов из стека, которые не превосходят uz. Элементы с найденными значениями из стека исключить. А также получить: (uz+r)/(uz+s), где r- сумма всех тех значений элементов, которые не превосходят u, s- сумма значений элементов, больших u.” Возник ряд вопросов: 1. Если мы берем из стека верхний элемент (например, для вывода на экран), то, получается, мы должны его перед этим занести в другой стек, чтоб этот элемент не потерялся? 2. Как правильно вывести на экран заполненную очередь, ведь мы не можем просто пройтись по её элементам для вывода. Значит ли это что нам нужно перед выводом сохранять их в другую очередь? А в целом ниже привожу свой код, укажите на ошибки, пока не могу понять, почему при первом выводе стека на экран он обнуляется. И потом просто программа вылетает с ошибкой, как я понимаю как раз из за того, что стек стал пустым и последующее обращение к нему приводит к падению программы Код:
Движение - жизнь. Остановка - ... ?
|
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
А ты выбери в качестве очереди динамический массив или нельзя?
Тогда Цитата:
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
![]()
К сожалению, по условию задачи нельзя прибегать к использованию массивов, необходимо использовать только очереди и стеки
Движение - жизнь. Остановка - ... ?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Ну так и используй стек, но построй его на динамическом массиве
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
![]()
А можно подробнее про это ?
Движение - жизнь. Остановка - ... ?
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Да запросто - создаешь динамический массив:
Код:
![]() Если сместить указатель, то фактически элементы в массиве (но не в стеке!) будут по-прежнему существовать и их можно будет читать как из обычного массива имя_стека.data[индекс_элемента] ![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 25.02.2010 в 14:18. |
![]() |
![]() |
![]() |
#7 |
ACM!
Форумчанин
Регистрация: 19.06.2009
Сообщений: 382
|
![]()
Эх , уточнил условия - никаких массивов
![]() А как вы очередь объявляете без массива? Вроде вот очередь (писал здесь, могут быть описки): Код:
Последний раз редактировалось Stilet; 25.02.2010 в 16:56. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
![]()
Нет не так.
![]() Очередь – это вид связанного списка, в котором извлечение элементов происходит с начала списка, а добавление новых элементов – с конца. К этому виду списка, по определению, неприменима операция обхода элементов. Очередь является динамической структурой – с течением времени изменяется и количество, и набор составляющих ее элементов. Опишем очередь на языке программирования: Код:
Движение - жизнь. Остановка - ... ?
Последний раз редактировалось kaizer131; 26.02.2010 в 11:25. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Список очередей | hanszirke | Помощь студентам | 5 | 29.04.2009 18:46 |
Реализация синуса | angol | Помощь студентам | 5 | 07.11.2008 22:00 |
массив стеков | Kostua | Помощь студентам | 1 | 20.09.2008 08:28 |
сохранение структуры (динамические списки очередей) в файле | AlenaZ | Помощь студентам | 2 | 09.06.2008 20:14 |