|
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
|
||||||
вопрос по стеках (stack)06.11.2011, 01:12. Показов 3673. Ответов 17
Метки нет (Все метки)
Задание:
Реализовать стек с помощью массива data [N], в котором последний элемент массива, а не отдельная переменная, используеться для хранения указателя вершины стека, а остальные элементы массива могут содержать элементы самого стека. После обработки всей заданной входной последовательности превратить полученный стек так, чтобы он не содержал одинаковых элементов, идущих подряд (т.е. вместо каждой последовательности одинаковых элементов должен остаться только один элемент, например, из стека с содержанием 22230115555 надо получить стек с содержанием 23 015). кто может, помогите по написанию кода, я вот придумал такой алгоритм, но в причине отсуствие синтаксисчних навиков, мне тяжело его реализировать: например наш стек содержит такие елементи 22230115555, помня что в стеку елементи идут с права на лево, тоесть так: 5 5 5 5 1 .. ми будем перемещать елементи в другой стек, при умове, что если встретиться елемент, которий равний предидущему, то его ми перекидивать не будем, так ми получим стек с такими елементами 5 1 0 3 2 дальше ми опять перекинем назад, чтоб получился стек с елементами: 2 3 0 1 5 вот и все, ето мой алгоритм, кто хорошо знает синтаксис, наберите плс, буду благодарен, в доказ того что я не тупой, дам то что набрал сам, тоесть проверял роботу стека:
![]() Добавлено через 1 час 49 минут неужели никто не знает стек?????? не могу в такое поверить...
0
|
||||||
| 06.11.2011, 01:12 | |
|
Ответы с готовыми решениями:
17
[bcc32 Error] File1.cpp(19): E2316 'Stack<T>::Stack()' is not a member of 'Stack<T>' Есть ли связь между STL-stack и stack - высокопроизводительная память? error C2440: 'return' : cannot convert from 'stack<X>' to 'stack<X> *' |
|
|
||||||
| 06.11.2011, 01:18 | ||||||
|
Не по теме: Хм. Мне стало скучно, и я реализовал свой стек с блекджек... Ну вы поняли. Алгоритм в самом конце, в функции main. Вроде должен работать. Перемещать из второго стека в главный не стал, если надо - допилите, напильник прилагается.
0
|
||||||
|
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
|
|
| 06.11.2011, 01:38 [ТС] | |
|
спасибо, щас посмотрю...
но я забил написать коечто, мммммм, не нужно использовать размер (size), тоесть я должен сделать, не используя его
0
|
|
|
|
|
| 06.11.2011, 01:46 | |
|
Получится немного корявее, но нет ничего невозможного. Хотя, укусить себя за лоб будет сложновато... Но речь не о том.
Либо нужно попросить пользователя ввести количество чисел, либо отслеживать количество введенных чисел непосредственно при вводе. Затем, везде где будет использоваться push увеличивать size на единицу, а там где pop уменьшать. Разумеется, это должны быть 2 различные переменные для stack и buf(в моем случае).
0
|
|
|
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
|
||
| 06.11.2011, 01:52 [ТС] | ||
|
берем самий верхний елемент и переносим его в другой стек, и сразу проверяем, не пустой ли наш основной стек, если он не пустой, то повторяем дальше ну типу чтото data[used]; data [used - 1]; или не поканает? и кста, можно делать ли подобние операции со стеками без использование шаблона?
0
|
||
|
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
|
|
| 06.11.2011, 22:36 [ТС] | |
|
можно ли сделать стек без использование шаблонов, а только на основе статического массива?????
просто в задание написано сделать на основе статического массива, дайте ответ да или нет, если без шаблона то походу сделаю норм
0
|
|
|
2357 / 1775 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
|
|
| 06.11.2011, 23:50 [ТС] | |
|
как раз все прекрасно, спасибо
на счет data [used] , я просто нарил такую фигню - походу ето бред а на счет алгоритма без использование size, то походу может подойти такой: после каждого переноса елемента делать проверку на то, не пустой ли стек, если не пустой, продолжать перенос, а если пустой - то остановить перенос как то так, вроде и реализовать не сложно
0
|
|
|
63 / 35 / 13
Регистрация: 21.10.2010
Сообщений: 538
|
|
| 07.11.2011, 17:22 | |
|
Блин, не туда скинул))
0
|
|
| 07.11.2011, 17:43 | |
|
Не по теме: Как перебрать все элементы стэка? Итераторы ведь не поддерживаются.
0
|
|
|
Заблокирован
|
|
| 07.11.2011, 17:46 | |
|
стек лифо - ласт инпут фёст аут, как бы не подразумевает произвольного доступа, зачем ему итератор
0
|
|
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
||
| 07.11.2011, 17:56 | ||
|
0
|
||
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
| 07.11.2011, 18:42 | |
|
0
|
|
|
Заблокирован
|
||
| 07.11.2011, 18:49 | ||
|
0
|
||
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|||
| 07.11.2011, 19:00 | |||
|
Загвоздка в том, что в задании, которое дали в ВУЗе, надо сделать собственный стэк и использовать в программе свой и стандартный стэк. Со своим как раз проблемы нет.
0
|
|||
| 07.11.2011, 19:14 | ||||||
|
ой ,та но здоровье ,вытягиваем содержимое поштучно куда - нибудь ,выполняем какие - нибудь действия ,запихиваем обратно (учитываем ,что берем с конца ,получим последовательность обратную начальной). Я понимаю ,правила и всё такое ,но в в реализации ,всё-же , возможность доступа произвольному (ReadOnly) элемента стека очень полезна .Мне помогала .Когда нужно работать с объектом как со стеком я выполняю пуш и поп ,больше от стека ,как хранилища особым образом организованного ,ничего и не требуется .Хз ,не очень выразил свою мысль ,наверное ,сорри .
Добавлено через 1 минуту
не удаляя - вытащенный элемент кидаем в другой стек . Потом заполняем первый на основе данных нашего вспомогательного Добавлено через 3 минуты Натупил ,забыл что речь идет о стандартной реализации стека ,думал о стеках в общем и своем варианте реализации ![]() length to getLen как заменить думаю и так понятно
1
|
||||||
| 07.11.2011, 19:14 | |
|
Помогаю со студенческими работами здесь
18
Указатели в стеках Очередь на двух стеках
Ошибка: "Unhandled exception: Stack cookie instrumentation code detected a stack-based buffer overrun" Подсчитать общее число элементов в стеках Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|