|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.05.2017, 17:25 | #11 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Не
Цитата:
https://github.com/alexzk1/startrack...wns/circular.h |
|
09.05.2017, 17:44 | #12 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Сделал!
Правда подтверждений много требуется, но мне так спокойнее))) Код:
Блин 33 в цикле инициации на ноль заменить надо и где-то предупреждение воткнуть о том, что там значение по умолчанию равно 0...)) Последний раз редактировалось KAMLS; 09.05.2017 в 17:48. Причина: опечатка |
09.05.2017, 18:52 | #13 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Я б такого студня на пересдачу сразу отправил...
|
09.05.2017, 19:06 | #14 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Тю! И за шо?
|
09.05.2017, 19:15 | #15 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Чот та же фигня, которую всю первую страницу обсуждали.
Еще имена почти всех переменных, функций и прочих сущностей плохие. Лафоре ж не так делает ) https://ru.hexlet.io/blog/posts/naming-in-programming Причем тут средства? В данном случае это просто нормальные имена функций (естественно если они отражают суть происходящего внутри), которые вы и должны реализовать. Между ними и STL контейнерами нет никакой связи кроме того что в интерфейсе их классов есть похожие функции.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 09.05.2017 в 19:20. |
09.05.2017, 19:40 | #16 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
KAMLS, давайте я вам по простому объясню:
очередь - это коробка (такая большая бумажная) с простешими функциями положить что-то в нее, достать что-то из нее, посмотреть пустая ли она, ... а у вас получается - привез папа на машине апельсины коробка одна, принесла мама пешком из магазина тортик коробку переделываем, приехали вы на велосипеде - коробку переделываем. Не использовать стандартные средства - значит не юзать стандартные контейнеры, а студентов, которые уродуют интерфейс стандартных контейнеров, надо отправлять на пересдачи пока не поумнеют. Последний раз редактировалось Alex11223; 09.05.2017 в 19:47. |
09.05.2017, 21:15 | #17 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Оставлю здесь простецкий стек:
Код:
|
10.05.2017, 01:51 | #18 |
Форумчанин
Регистрация: 03.03.2013
Сообщений: 102
|
|
10.05.2017, 02:34 | #19 | |
Форумчанин
Регистрация: 03.03.2013
Сообщений: 102
|
Цитата:
Неправильно понята суть очереди. Нужно написать функции ввода (void push(int)) и вывода (int pop()) без лишних выкрутасов. push() добавляет один элемент, который в аргументе, pop() удаляет 1 элемент из конца очереди и возвращает его значение. Можно оставить сообщения "Очередь пуста" и "Очередь заполнена" там, где надо. Предложения заменить элемент, обработки ввода с клавиатуры можно написать в main, но не в интерфейсе очереди. Хотите "заменить первый элемент заполненной очереди на добавленный"? Код:
Если вам нравится такой диалог с пользователем, это без проблем можно оформить в том блоке, где вызываются функции очереди push() и pop(), и реализовать всё только функциями push() и pop(). Задача в том, чтобы их правильно написать... Последний раз редактировалось Haric_110; 10.05.2017 в 02:58. |
|
10.05.2017, 07:00 | #20 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
У меня это работает так.
Запуск очереди. Значение инд1=0 инд2=1. Это чтобы сразу не сработало совпадение значений инд1 и инд2 и не высветилось "Массив заполнен!" При вводе или "Очередь пуста!" в методе вывода. Все элементы массива уже инициализированы циклом, значения 33 или 0. Предполагается что сначала используется ввод. Значения вводятся вводятся и вот значение инд2 (работающего на ввод) приближается к концу очереди, т.е. к значению инд2=9. Там есть не рабочий закуток, временный инд2=10, чтобы у алгоритма было время и возможность сориентироваться. Т.е. если инд2=10 он сразу становится инд2=0, т.е. есть переходит в начало очереди. Если там остался инд1, т.е. никто ничего пока не выводил, происходит сосбщение "Массив заполнен!" и инд2 возвращается на позицию 9 (или как вариант, (там есть вариант) на инд2-1 если совпадение индов произошло где-то в районе ячеек 5-6 и т.п.) Там то и нужен подтвердитель v. Если вы жмете d то будет происходить запись поверх значения инд1, а инд1 будет отодвигаться на одну ячейку дальше, стало быть опять при следующем вводе то же самое выбирать поверх записывать или сначала вывести значение. Когда вывод инд1 догоняет ввод инд2, происходит сдвижка инд2 чтобы не зависало на "Очередь пуста!". то есть организована работа по кругу с учетом вариантов столкновений индикаторов инд1 и инд2. При выводе значение ячеек делается равным 0. Я гонял по кругу, всё работает. С вариациями. Понимаю, что написано коряво, нет блин никаких то там контейнеров, указателей и т.п. Дак я про них еще и не знаю вообще))))) Последний раз редактировалось KAMLS; 10.05.2017 в 07:01. Причина: опечатка |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вводим 15 элементов в очередь, затем выводим на экран эту очередь и добавил в очередь еще один элемент. Потом удаляем любой элемен | Xumera | C++ Builder | 2 | 07.12.2013 13:56 |
Очередь | sys*.12 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 05.12.2012 04:43 |
Очередь | fenix0093 | Помощь студентам | 1 | 30.11.2012 16:15 |
Очередь Си | svetikzo | Помощь студентам | 0 | 23.01.2010 10:03 |
Очередь C++ | svetikzo | Помощь студентам | 2 | 23.01.2010 09:53 |