|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.08.2013, 23:01 | #21 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Ну,я же не знаю выделяли ли под них память в какой-нибудь подпрограмме. Предположил, что выделяли.
Моя идея такая: Код:
Возможно где-то ошибся. Последний раз редактировалось Igor95; 22.08.2013 в 23:09. |
22.08.2013, 23:13 | #22 | ||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Цитата:
do not use your brain
|
||
23.08.2013, 00:09 | #23 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Как можно разобраться с проблемой, когда, например, я вообще не понимаю, как Вы представляете работу функции traversal, поэтому не могу предложить путей исправления.
На данный момент предлагается к рассмотрению такой код: Код:
Насчет использования nullptr - код пишется под Си или С++?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
23.08.2013, 10:25 | #24 | |||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Это пока всё, тут незачем рассматривать программу целиком, так как вся суть представленного кода в применении функции traversal. Цитата:
Цитата:
do not use your brain
|
|||
23.08.2013, 11:17 | #25 | |||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Цитата:
Все это смахивает на n-арное дерево, и выглядит нормально. Но как мне добраться до тех узлов, что расположены ниже первого яруса? - твоя функция traversal выглядит вкорне неверно, в этом случае - она должна быть рекурсивной, а у тебя " массив указателей в структуре, который в цикле обходится..." Если ты не лезешь дальше первого яруса - я не понимаю нахрена тебе набор укзателей именно на Node и какой выхлоп может получиться с того что ты делаешь (я читал пост, где ты отвечал на этот вопрос, но в коде не вижу ничего похожего). Мне чето лень разбирать что тут за код тебе постят BDA и Igor95 (они тоже ИМХО не понимают чего ты хочешь добиться), поэтому смотрю в код с первого поста: Цитата:
выполняется это: *node -> next++ теперь* node->next равен NULL, но выполняется вторая часть условия (ведь с NULL сравнивалась копия *node -> next, созданная до инкремента). во второй части условия ты выполняешь (*node -> next) -> n а это уже тоже самое что NULL->n (и тут программа должна падать) Ну и дальше такое же безобразие происходит. Последний раз редактировалось rrrFer; 23.08.2013 в 11:22. |
|||
23.08.2013, 12:01 | #26 | |||||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Цитата:
Цитата:
Цитата:
Например, мне не нужно давать номера структурам(дополнительный id), чтобы получить доступ к данным, связать их, вместо них я пользую указатели, а это экономит память. Если я захочу смоделировать нейрон в сети, мне не нужно будет гулять по его статическим связям и хранить их в памяти, по тому как связи станут динамическими. Если это база данных, то ненужно дублировать объёмистые данные при записи, это заменяется связями. Можно применить подобную структуру для написания базы данных экспертной системы или семантической сети. Цитата:
Это значит что сначала *node -> next++, потом *node -> next != NULL и если вдруг он не равен NULL выполняется сравнение (*node -> next) -> n != data Я тут не прав, сравнение всёравно проходит и программа падала.
do not use your brain
Последний раз редактировалось Кащей; 23.08.2013 в 12:43. |
|||||
23.08.2013, 12:10 | #27 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Код:
Иначе скажу - ссылки без ограничений, вот что хочется воплотить.
do not use your brain
|
23.08.2013, 12:44 | #28 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Пока остановился на этом
Код:
do not use your brain
Последний раз редактировалось Кащей; 23.08.2013 в 12:50. |
23.08.2013, 12:53 | #29 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Обсуждаем последний вариант - Вы изменяете сам указатель next, тем самым разрушая 0 элемент (второй раз поиск будет нельзя осуществить).
ПС Дописывайте свое последнее сообщение, а не пишите несколько подряд (можно заработать штраф). Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 23.08.2013 в 13:02. |
23.08.2013, 12:56 | #30 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Итак...как обойти изменение указателя не используя цикл?(вставленный в коде функции main)
Код:
do not use your brain
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с указателями | compiler90 | Visual C++ | 1 | 04.06.2012 18:52 |
Работа с указателями | yaapelsinko | Общие вопросы Delphi | 3 | 15.02.2012 01:13 |
Работа с указателями | Byurrer | Общие вопросы C/C++ | 8 | 02.04.2011 21:09 |
Работа с указателями | stas135642 | Общие вопросы C/C++ | 2 | 21.11.2010 15:05 |
Работа с указателями | Mango | Помощь студентам | 2 | 23.11.2008 10:33 |