|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.03.2017, 09:58 | #11 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
"head это не первый а второй элемент?"
наверно, имеется ввиду вот это: "head = one->next;". Нет, head - это (всё-таки) первый элемент, - просто в предыдущем кучке кода (там, где выводил первоначальным массив) я "не до конца дошагал", а остановился на последнем элементе последовательности. И, соответственно, запись "head = one->next;" это скомпенсировало... Основная идея программы. Назначаются три ссылки: 0.jpg которые "шагают по списку". Ссылки "two" и "fre" реагируют на условия, а первая - перестраивает структуру списка ( если условие сработает). Проблема возникает при последнем элементе. Рассмотрим пример: 0_1.jpg Для учёта этого нужен флаг. |
12.03.2017, 15:00 | #12 | ||
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Оно почему-то творит что-то совсем непонятное.
Цитата:
Цитата:
Насылаю баги по фотографии преимущественно себе
Последний раз редактировалось CortesGames; 12.03.2017 в 15:10. |
||
12.03.2017, 15:27 | #13 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
1) Я думаю, что вот это "head = head;" можно удалить.
2) Я не уверен будет ли работать тот кусок кода в цикле. 3) а по твоей ситуации. Я советую, непосредственно перед выводом на экран, организовать цикл, который "прокрутит" весь список и "a" снова станет первой. |
15.03.2017, 11:19 | #14 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
"Прокрутит список"? Просто не могу нормально представить себе его, подскажите если не сложно.
Насылаю баги по фотографии преимущественно себе
Последний раз редактировалось CortesGames; 15.03.2017 в 22:08. |
16.03.2017, 17:21 | #15 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Продублирую.
Скорей всего ты влез туда, куда тебе не следовало влезать. Теперь надо компенсировать это влияние... Я так понял у тебя отдельная функция для печати (вроде "Print(....)") в которую ты оправляешь ссылку на начало (я точно не уверен, но вроде "head"), т.е. что то вроде такого: Код:
Код:
|
16.03.2017, 17:36 | #16 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Ваш код почему-то не работает со списками из 3+элементов, он почему-то то не удаляет, то зацикливаться, так что я написал свой код, он работает исправно но когда я ставлю первой буквой "p" ,а второй "а" то он виснет, через дебаг я увидел что он просто попадает в цикл потому что условие "two->next != START" не перестаёт выполнятся. У меня уже голова кругом идёт из за этих списков, пожалуйста помогите найти ошибку.
Код:
Насылаю баги по фотографии преимущественно себе
Последний раз редактировалось CortesGames; 16.03.2017 в 17:42. Причина: Исправление табуляции |
16.03.2017, 18:54 | #17 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Когда работаешь с моим кодом следи за "n" и при изменении кол-во узлов и "n" должно меняться. Ты можешь сделать отдельную функцию для подсчёта "n". Вот, пример для 3-х узлов:
Код:
Мой код отлаженный, поэтому ничего нового здесь не придумать... Возьми мой код за основу и начни модифицировать под себя: добавь меню, отдельную функцию для печати, автоматический ввод узлов, удаление узлов.... НО (самое главное), на каждом шаге хорошенько тестируй программу при разных условиях. Когда я говорю при разных условиях - это значит реально при разных условиях... А не делай всю программу целиком (тем самым собираю на каждом шаге кучу ошибок), а потом ты не знаешь что делать... Итак, начни с этого кода, что я привёл. Протестируй его и начни делать по кусочкам; тестирую на каждом шаге. |
16.03.2017, 19:42 | #19 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
С вариантом с 3-мя ссылками уже ничего не сделать, но можешь попытаться сделать программу с 2-мя узлами (вроде должно получится что-то вроде "цикл в цикле"):
10.jpg Только делай сначала на моём шаблоне. Последний раз редактировалось ura_111; 16.03.2017 в 19:50. |
16.03.2017, 19:43 | #20 |
Пользователь
Регистрация: 23.10.2016
Сообщений: 86
|
Есть ошибка, не знаю в чём заключается.
Если есть Код:
Без него вот так: А должно быть a p a Не могу добится нужного результата Насылаю баги по фотографии преимущественно себе
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c++ удаление элемента списка | NinjaNoob | Помощь студентам | 1 | 28.01.2013 04:01 |
Сортировка однонаправленого списка вставками. | gvilon | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 08.11.2011 23:39 |
Удаление элемента из списка | bpystep | Помощь студентам | 4 | 09.07.2010 14:55 |
Удаление элемента из списка | Ghost_gg | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 30.05.2010 20:43 |
Удаление последнего элемента из списка и реверс этого списка. | Goose | Общие вопросы C/C++ | 8 | 16.05.2010 16:12 |