![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
n4ela |
|
||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 15.8.2009 Репутация: нет Всего: нет |
Надо решить задачу коммивояжера методом ветвей и границ. В гугле облазил все что можно( включая зарубежные сайты) нашел алгоритм Прима на Си, и на Си#, а мне надо метод ветвей и границ на Си/С++. Готового кода в интернете точно нету. Нашел код на TP, решил первести на Си. Вот что получилось:
http://paste.org.ru/?nefu2d Оригинал на Паскале http://paste.org.ru/?xdqjoh Входные данные:
Мой код выдает ошибку сегментирования, видимо я напутал что то с указателями или выделением памяти, самом найти ошибку не получается. Может кто то сможет помочь, и найти ошибку, или у кого то есть готовый пример на сях? Заранее благодарен. ********************** Решил написать с нуля, так что не актуально, всем спасибо. Это сообщение отредактировал(а) n4ela - 25.9.2009, 01:51 |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
отладчиком пройдись. Хотя бы определишь, в каком месте сегфолт.
Если работает под Linux, то прогони через valgrind --tool=memcheck |
|||
|
||||
ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
маленький оффтопчик:
И не забудьте поставить ограничение на количество вершин, а то Ваша машина вряд ли поднимет NP-полную задачу ![]() -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
n4ela |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 15.8.2009 Репутация: нет Всего: нет |
Вылетает на 147 строчке,
Вот в этом месте:
Потому что в n1.solv->rev[i1] выходит за пределы памяти. А вот почему это происходит я не понял. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Странный какой-то цикл у вас
Ошибся, не туда глянул. Это сообщение отредактировал(а) Anikmar - 23.9.2009, 16:48 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |