|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.11.2011, 22:35 | #21 |
Пользователь
Регистрация: 10.10.2011
Сообщений: 33
|
|
02.11.2011, 22:39 | #22 |
Пользователь
Регистрация: 10.10.2011
Сообщений: 33
|
|
02.11.2011, 22:56 | #23 | |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
Код:
Есть тонкость между записями: Цитата:
И еще глюк: вы в ф-ию add_item отдаете нулевой указатель и пытаетесь обратиться к мебмеру. в ф-ии main нужно создать first. Кстати, listI - дурацкое имя для структуры. Общепринятым является "узел списка" (Node или ListNode). Вот всзязанные между собой узлы как раз и образуют список. Последний раз редактировалось _Ч_; 02.11.2011 в 23:00. |
|
03.11.2011, 23:58 | #24 |
Пользователь
Регистрация: 11.10.2011
Сообщений: 60
|
Caged, а что за ошибка-то? Текст приведите, пожалуйста
Да, возвращать значение нужно. Смотрите, вы вначале инициализируете переменную first как NULL. Она ни на что не указывает. (Только не удаляйте данную инициализацию, можете покрушить данные и систему). Дальше, при первом вызове add2list вы выделаете память, пихаете туда значение, присваиваете его first. Но first в функции main не поменяет своего значения. |
04.11.2011, 01:45 | #25 |
Новичок
Джуниор
Регистрация: 03.11.2011
Сообщений: 1
|
у меня похожая задача, но на Си: напишите программу, выполняющую конкатенацию двух связанных списков символов. программа должна включать функцию concatenate, которой в качестве аргументов передаются указатели на оба списка и она присоединяет второй список к первому.
вот что наваял: Код:
проблема, мне кажется в функции объединения списков concatenate. функция получает два указателя на начало первого списка (startPtr)и на начало второго списка (startPtr2). Дальше в while я дохожу до конца первого списка, т.е. до указателя последнего узла первого списка, который равен NULL и в if присваиваю ему указатель на начало второго списка: curPtr->nextPtr=startPtr2; Присваивание происходит, т.к.проверял, распечатывается второй список. Т.е., если я правильно понимаю, связывание двух списков произошло. Потом в main запускаю функцию печати списка с параметром указателем на начало списка printList(startPtr) - печатается только первый список, а второй присоединенный -нет! вот в этом и загвоздка. не могу понять почему. |
04.11.2011, 11:54 | #26 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
У вас ошибка в конкатенации списков
Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамические списки | Ольчик | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 15.01.2012 14:33 |
Динамические списки. | Светусик | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 22.12.2010 17:50 |
динамические списки | tricksler | Помощь студентам | 0 | 10.12.2010 21:15 |
Динамические списки | Saawa | Помощь студентам | 4 | 02.12.2009 18:35 |
Динамические списки | lubafffka | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 17.12.2008 21:59 |