|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.12.2010, 08:27 | #1 |
Регистрация: 11.12.2010
Сообщений: 5
|
Двухсвязный список в С++
Добрый день!
Задали задачу:"Отсортировать двухсвязный список методом выбора". Код я вроде написал, однако, столкнулся с проблемой(после входа в функцию сортировки, программа зависает) Пытался ее отладить, вводил последовательность из 3х цифр(3,2,1) и он вроде их сортировал, а затем виснет. Не могу решить эту проблему, если кто-то может помочь, я буду очень признателен. Код программы: Код:
Последний раз редактировалось Stilet; 11.12.2010 в 08:32. |
11.12.2010, 09:10 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Куча ошибок:
1) Конструктор неправильно описан Код:
2) Код:
3) Код:
Код:
4) Косяк в конце - объект создали, а освобождать кто будет? Пушкин уже устал. Он в отпуске.
I'm learning to live...
|
11.12.2010, 09:49 | #3 |
Регистрация: 11.12.2010
Сообщений: 5
|
я в этом деле почти новичок, потому спрашиваю:
1) Вы говорите , что имя класса и конструктора должны совпадать с учетом регистра. что это значит? мне казалось что конструктор должен иметь тоже название что и имя класса. разве не так? 2)Теперь, что касается удаления объекта: а освобождать его надо где?(в конце функции MakeDList() )? или же надо описать деструктор? |
11.12.2010, 10:30 | #4 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
11.12.2010, 12:18 | #5 |
Регистрация: 11.12.2010
Сообщений: 5
|
Кошмар, опять невнимательность(поэтому я не заметил что конструктор и название класса отличаются по регистру)
конструктор написан, но проблема мне кажется не в этом(вернее не только в этом ) Поскольку он программа по-прежнему зависает в том же месте. вот к чему я пришел на текущий момент: Код:
Последний раз редактировалось Stilet; 11.12.2010 в 12:56. |
11.12.2010, 12:57 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Когда я поправил твою программу так как описал мне выдало результат:
Цитата:
Твоя программа работоспособна, если ты верно учел мои коментарии.
I'm learning to live...
|
|
11.12.2010, 13:15 | #7 |
Регистрация: 11.12.2010
Сообщений: 5
|
Виталий, а тот скрин который вы сейчас представили кажется он не самый последний, ведь я вначале просто вывел то, что содержится в списке.
А уже после этого начал сортировать, а затем еще раз вывел содержимое списка(но уже в отсортированном порядке). Или же я просто чего-то совсем не понимаю Что касается кода то в последний раз когда я его исправлял я изменил имя Конструктора и дописал к нему деструктор. Может быть где-то не так понял? Я прошу извинить меня за тупость, я просто многого не понимаю. И еще, то что изображено на этом скрине-оно ведь не отсортированно |
11.12.2010, 13:23 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Вот тебе полный код:
Код:
I'm learning to live...
|
11.12.2010, 14:01 | #9 |
Регистрация: 11.12.2010
Сообщений: 5
|
видимо я точно, чего-то не понял
у меня возникло несколько вопросов?: 1) Я скомпилировал этот файл на Visual C++(visual studio 2008) и при компиляции он выдал мне ошибку fatal error C1083: Не удается открыть файл include: stdafx.h: No such file or directory 2) если закоментить этот файл и изменить в заголовке функции main() название, то он скомпилируется. Но как я и говорил он введет Случайные числа, после чего выведет их на экран и зависнет(как раз при вызове сортировки. ) 3)я запустил этот же файл в Turbo C++. Как и в VS он предложил мне ввести количество записей которые я хочу добавить в список. После ввода он случайным образом записывает их в список и выводит, А при вызове сортировки он виснет(та же самая проблема) 4) Вы говорили что надо освобождать память из под списка, а в предложенном вами варианте деструктор отсутствует. В таком случае возникает вопрос, зачем он нужен был(если мы его не используем) Я еще раз приношу свои извинения, просто мне очень нужна помощь в решении этой проблемы. Заранее Вам благодарен! И для чего она вообще нужна(директива stdafx.h)? Последний раз редактировалось Stilet; 12.12.2010 в 12:47. |
12.12.2010, 12:50 | #10 | ||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
||||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двухсвязный список, добавление элемента в указанную позицию | redmonkey | Помощь студентам | 3 | 19.10.2010 12:29 |
как удалить двухсвязный список | Saken_ | Общие вопросы Delphi | 0 | 11.10.2010 11:02 |
Двухсвязный список | StarScream2008 | Общие вопросы C/C++ | 1 | 19.09.2008 20:04 |
Паскаль... Двухсвязный список !!! | merax | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 21.12.2007 08:01 |