|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
||||||
Кнопки НАЗАД/ВПЕРЕД. Очередь и дек (DEQ). Основные действия, циклический сдвиг элементов (циклическая прокрутка)10.06.2013, 19:35. Показов 3386. Ответов 28
Метки deq, fifo, filo, pas, pascal, queue, stack, Дек, основные действия, Очередь, реализация, с, стек, циклическая прокрутка, циклический сдвиг (Все метки)
Собственно программа, Очередь на основе циклического массива.
Очень помогла тема Очередь посредством циклического массива Помогите! Мне остаётся реализовать кнопки Назад/Вперед что бы передвигаться по результатам так сказать... Не знаю как сделать(( Так-то предлагалось создать "создать двумерный массив x_s, каждая строчка которого будет содержать одномерный массив x на каждом шаге алгоритма." Файл:Очередь StringGrid.rar Код:
0
|
||||||
| 10.06.2013, 19:35 | |
|
Ответы с готовыми решениями:
28
кнопки назад вперед FoxPro - кнопки вперед, назад |
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
|
| 10.06.2013, 20:09 [ТС] | |
|
Ещё главно возможность отката на любое количество шагов назад, вперед...
0
|
|
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
|
| 12.06.2013, 09:06 [ТС] | |
|
up темы
0
|
|
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
||||||
| 13.06.2013, 19:52 [ТС] | ||||||
|
Немного ближе...Работает неправильно(
0
|
||||||
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||
| 13.06.2013, 21:21 | ||
|
Добавлено через 2 минуты Например, у нас в очереди числа: 10 20 30 40 50 60. Индексация элементов от нуля. Тогда если Cur = 2, то, например, в каком-нибудь Edit мы показываем: 30. Жмём "Назад" и в Edit должно вывестись: 20. Потом если нажмём "Вперёд", то в Edit опять выведется: 30. Ещё раз нажмём "Вперёд" и в Edit будет показано: 40. Правильно я понимаю, что требуется сделать?
1
|
||
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
|||
| 13.06.2013, 21:25 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||
| 13.06.2013, 21:28 | ||
|
Что значит "вперёд удалило"?
В очереди есть 2 действия - изъять элемент из начала очереди (удалить из начала очереди) и добавить элемент в конец очереди. Изначально задание как было сформулировано?Добавлено через 33 секунды
1
|
||
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
||
| 13.06.2013, 21:33 [ТС] | ||
Разработанный визуализатор должен обеспечивать: 1. наглядную графическую иллюстрацию всех особенностей работы алгоритма 2. вывод пояснения к каждому шагу алгоритма 3. работу в пошаговом и автоматическом режиме, 4. регулировку скорости автоматического выполнения 5. возможность отката на любое количество шагов назад, 6. работу как с предварительно заданными, так и со случайными и введёнными пользователем данными, 7. корректную обработку частных и вырожденных случаев Некоторые сложности в реализации может вызывать пошаговое выполнение алгоритма и откат в об-ратную сторону. Простейший способ реализации этих функций состоит в том, чтобы предварительно полно-стью выполнить реализуемый алгоритм и сохранить все его переменные на каждом шаге. Например, если визуа-лизируемый алгоритм использует одномерный массив x, то можно создать двумерный массив x_s, каждая строчка которого будет содержать одномерный массив x на каждом шаге алгоритма. Тогда выполнение шага вперед или назад не будет представлять никакой сложности. "вперед удалило" я имел ввиду(мне кажется это тоже надо реализовать точно не знаю...), что допустим мы ввели 0 1 2 3 потом изъяли 0 нажали назад ноль появился снова, нажали вперед осталось 1 2 3
0
|
||
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||||||||||
| 13.06.2013, 21:40 | |||||||||||
Edit5 нужно добавить на форму. Добавлено через 3 минуты Лучше даже выводить не только значение элемента, но и его индекс в очереди:
Это циклический перебор. Т. е., если мы жмём кнопку "Вперёд", то когда мы дойдём до последнего элемента очереди и ещё раз нажмём на "Вперёд", то следующим элементом окажется первый элемент очереди. И т. д. - по кругу. Аналогично в обратном направлении - если мы находимся на первом элементе и нажали на кнопку "Назад", то перейдём на последний элемент очереди.
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
|
| 13.06.2013, 21:40 [ТС] | |
|
Mawrat, спасибо большое, да работает правильно выводит элементы в edit5.
Полагаю мне остаётся реализовать это с выводом в StringGrid...
0
|
|
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||
| 13.06.2013, 21:44 | ||
|
Хотя тут немного надо подправить. Сейчас...
Добавлено через 1 минуту Добавлено через 2 минуты Если разрешить прокручивать очередь в обоих направлениях - то это уже не очередь, а двунаправленная очередь - DEQ (Dual Ended Queue) называется.
1
|
||
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
||
| 13.06.2013, 21:44 [ТС] | ||
0
|
||
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 13.06.2013, 21:45 | |
|
Обыкновенную очередь (не DEQ) можно "прокручивать" только в одном направлении: от конца - к началу.
1
|
|
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
||
| 13.06.2013, 21:46 [ТС] | ||
Добавлено через 32 секунды Но требуют делать прокручивание туда сюда...
0
|
||
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 13.06.2013, 21:46 | |
|
Предлагаю пока сделать прокрутку в одном направлении - как положено для обыкновенной очереди. Если переделать очередь в DEQ, то можно тогда в обоих направлениях "крутить".
1
|
|
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
|
| 13.06.2013, 21:48 [ТС] | |
|
Хорошо, тогда похоже задание немного некорректно сформировано!(
0
|
|
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||
| 13.06.2013, 21:50 | ||
|
--- Hardcore_MD, если время терпит, предлагаю завтра продолжить (вечером). Я набросаю вариант, как это всё должно работать - выложу здесь в виде проекта.
1
|
||
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 16
|
||
| 13.06.2013, 21:52 [ТС] | ||
0
|
||
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|
| 13.06.2013, 21:55 | |
|
Хорошо, договорились. Завтра продолжим.
1
|
|
|
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||
| 14.06.2013, 22:48 | ||||||
|
Вот первый вариант. Реализация получилась сложной.
1
|
||||||
| 14.06.2013, 22:48 | |
|
Помогаю со студенческими работами здесь
20
Отключены кнопки вперед - назад Отключены кнопки вперед - назад Пагинатор кнопки вперед назад Добавить кнопки для перелистывания вперед/назад Кнопки вперед\назад для просмотра фотографий на Delphi 7 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|