|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
||||||
Реализовать кольцевой стек.24.11.2012, 19:12. Показов 5945. Ответов 21
Метки нет (Все метки)
не могу сделать кольцевой стек, помогите или подскажите что можно сделать.
0
|
||||||
| 24.11.2012, 19:12 | |
|
Ответы с готовыми решениями:
21
Односвязный кольцевой список, реализовать Реализовать кольцевой список типа char STL: реализовать кольцевой упорядоченный двусвязный список |
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|
| 24.11.2012, 21:24 | |
|
Если задача составить кольцевой стек, почему в тексте программы везде говорится об очереди?
На мой взгляд в программе неясности, которые мешают чтению и без того неудобоваримой программы без комментариев, как например условие цикла while (k<5), при том, что в теле цикла дополнительная проверка условия k>=size со значением size намного превышающем число 5. Ощущение, что автор сам не пробовал читать свою программу.
1
|
|
|
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
|
||
| 24.11.2012, 21:41 | ||
|
Не по теме:
А что такое кольцевой стек? Чем он от обычного отличается?
0
|
||
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 24.11.2012, 22:46 [ТС] | |
|
это моя программа просто я пытался из очереди сделать кольцевой стек и вышла такая белиберда и по этому я здесь, кольцевой отличается от простой тем что в начало и конец можно добавлять элементы так же и удалять(по крайней мере я так понял)
0
|
|
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|
| 25.11.2012, 10:30 | |
|
Кольцевой - значит возобновляемый. Обычная очередь или обычный стек при чтении данных заканчиваются при невозможном повторном считывании тех же данных. На них считывание оказывает разрушающий характер. Задача закольцованности сделать возможным повторное считывание тех же данных.
Вам дали задание реализовать стек без классов и структур?
0
|
|
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
||
| 25.11.2012, 14:05 [ТС] | ||
|
0
|
||
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
||||||
| 25.11.2012, 14:28 | ||||||
|
По сути там ничего не удаляется. Всё дело в схеме считывания данных из массива.
1
|
||||||
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 25.11.2012, 16:32 [ТС] | |
|
Значит, Вы показали ввод и вывод данных, а мне нужно написать часть кода в которой элементы переходят с начало в конец в с конца в начало?
0
|
|
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|
| 25.11.2012, 16:53 | |
|
ну для наглядности я бы добавил такую возможность. Не знаю, насколько это обязательно
0
|
|
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
||||||
| 25.11.2012, 17:08 [ТС] | ||||||
|
просто я не понял как кольцо все же работает на практике
Добавлено через 4 минуты просто я так понял у Вас в программе выводится английский алфавит? и я не понял к чему два раза повторяется это, а точнее как это извлечение данных работает если там ничего не происходит
0
|
||||||
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|||||||||||
| 25.11.2012, 17:16 | |||||||||||
|
Обычный стек или обычная очередь подразумевают одноразовое считывание данных из массива, т.н. процессора данных. В этом случае не предусмотрен повтор считывания тех же данных, это упрощенный вариант с использованием индексов доступа к членам массива, при котором все индексы перебираются последовательно до крайнего без сброса индекса доступа, на этом всё и останавливается.
Кольцевой стек имеет возможность повторного считывания данных из массива. Стек представляет собой список, очередность доступа к данным определяется в порядке LIFO (First - in, Last - out, "первым вошел - последним вышел"). В коде имеется участок, который устанавливает индекс считывания по окончании записи данных в стек:
1
|
|||||||||||
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 25.11.2012, 20:21 [ТС] | |
|
Хм, ну как то я себе представлял не так кольцевой стек
Добавлено через 8 минут и это все? то есть ни каких удалений и добавлений? Добавлено через 40 минут то есть если вводишь например 10 символов 1 2 3... и когда пишешь что бы отчет был с 4 символа то оно выводит 4 5 6 7 8 9 10 1 2 3 ? Добавлено через 1 час 42 минуты я не знаю у меня в голове хаос, нам сказали что надо сделать функции push и pop как бы добавление и удаление элементов, ну эт я сделал на очереди и на стеку, а на кольце я не пойму как сделать, потому что кто то говорил что нужно добавлять элементы в начало и в конец но по сути это дек, а в кольце как Вы объяснили можно много раз одни и те же элементы брать... с этого я сделал вывод что это стек только когда все элементы удаляешь то они заново берутся с массива?
0
|
|
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|
| 25.11.2012, 20:32 | |
|
Вообще, стеки, очереди намного (на порядок примерно) удобней формировать классами, ну или структурами. Затем создается отдельный объект класса-стек для каждого набора данных и они существуют раздельно. Здесь же приходится затирать предыдущие данные в массиве и четко соблюдать диапазон. Вы можете определить свой набор данных, определив другой тип данных для массива Stack[]. Если же Вы не меняете тип данных, а просто хотите добавить еще один набор данных, определите вначале новый размер size для ваших данных, он будет опорным параметром для учета границ стека, за которые не выйдет программа, определите новый цикл, который будет вносить новые данные в стек. Если допустим, вы захотите внести осмысленное слово, вы можете воспользоваться командой strcpy(Stack, "нужное вам слово"); для подключения которой понадобится добавление в шапку программы #include <cstring>.
1
|
|
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 25.11.2012, 20:53 [ТС] | |
|
ну на словах это все понятно, а вот в действии, хотя массив уже есть в вашей программе с количеством size но мне нужно просто сделать кольцо на примере массива с удалением и добавлением элементов, а как это реализовать я не могу понять
0
|
|
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
||
| 25.11.2012, 21:05 | ||
|
Вики вещает:
1
|
||
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 25.11.2012, 21:11 [ТС] | |
|
но у нас стек, а нужен кольцевой стек с этими функциями и я не могу понять как это совместить
0
|
|
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|
| 25.11.2012, 21:14 | |
|
Это и есть кольцевой стек. Программа готова, больше ничего добавлять особой необходимости нет.
0
|
|
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 25.11.2012, 21:21 [ТС] | |
|
то есть вы мы просто записываем элементы, показываем что можно брать элементы с массива несколько раз и все? это кольцевой стек?
0
|
|
|
7 / 7 / 1
Регистрация: 03.04.2012
Сообщений: 25
|
|
| 25.11.2012, 21:27 | |
|
Именно.
1
|
|
|
0 / 0 / 3
Регистрация: 28.10.2012
Сообщений: 157
|
|
| 25.11.2012, 21:58 [ТС] | |
|
а как же можно сделать так чтобы элементы повторялись, то есть если задать массив 1 2 3...10 и написать что бы массив вывелся с 4 элемента и оно выведет 4 5 6 7 8 9 10 1 2 3 ?
0
|
|
| 25.11.2012, 21:58 | |
|
Помогаю со студенческими работами здесь
20
Используя кольцевой однонаправленный список, реализовать детскую считалку Реализовать стек Реализовать стек Реализовать стек Реализовать кольцевой список. Как закольцевать список обычный? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|