![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#31 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Смотри. Ты не можешь понять где ошибка - на стадии расчёта D, на стадии расчёта C или при определении пути между a и b.
Поэтому предлагаю отладить твою программу по какому-нибудь эталону. Я пару часов назад отлаживал по примеру отсюда. В начальных условиях задал матрицу весов рёбер GR, а на выходе получил матрицу расстояний D. Потом прямо из программы дал задание найти пути для двух-трёх пар вершин и проверил по изображению, что это так. После вычисления матриц я их распечатал для сравнения. Предлагаю и тебе после вычисления D и C вывести их на экран и сравнить с эталоном. Ещё, проглядывая твой код увидел, что перед RestorePath присутствуют глобальные переменные y и C[][] - убери их или перенеси в соответствующее место. Также, несмотря на уверения Poma][a, заключи все условия в скобки (Pascal даже отказывается компилить такое). И чтобы было проще, приведи свой код в виде аттача (из расширенной формы). |
![]() |
![]() |
![]() |
#32 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
С расчетом D все в порядке 100%, оно все правильно считает,проблемы с матрицей С,которая должна выводить путь между двумя введенными вершинами. Проблемы имеются с рекурсивной функцией,я вообще не понимаю,что там происходит,ну или на других статьях советуют еще циклично,а не рекурсивно(
|
![]() |
![]() |
![]() |
#34 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Вероника99, Приаттач исходник.
Покажи, что получается - у меня нет C. Если не можешь скопировать консоль, сделай перенаправление в текстовый файл или из проги или при запуске из командной строки. Poma][a, меня учили, что приоритет изменяется от компилятора к компилятору (vc, gcc, icc) и не стоит играть в азартные игры с дьяволом. Последний раз редактировалось FPaul; 31.01.2015 в 22:42. |
![]() |
![]() |
![]() |
#35 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]() |
![]() |
![]() |
![]() |
#36 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Вероника99, а результаты - распечатать GR, D, C.
Код:
Код:
Код:
Код:
Offtop Если можно автоматически отформатировать исходник - пожалуйста, форматни. Последний раз редактировалось FPaul; 31.01.2015 в 23:16. |
![]() |
![]() |
![]() |
#37 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]() Код:
Сложность алгоритма - куб.. Эта матрица нам ровным счетом погоды не делает.. А без не нее, может понятнее |
![]() |
![]() |
![]() |
#38 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Sorry, это я так предложил
Код:
Там все матрицы что-то делают. D - хранит минимальную "стоимость проезда" между вершинами. C - хранит в сжатом виде все пути между вершинами. Если это не хранить, то для каждой новой пары вершин опять надо всё пересчитывать O(n^3). |
![]() |
![]() |
![]() |
#39 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
Poma][a,матрица С для путей,еще одну матрицу сделать? И как потом все реализовать?
|
![]() |
![]() |
![]() |
#40 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
Так что делать?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ПОстроение графа по заданным вершинам | Otar4ik | Общие вопросы C/C++ | 6 | 11.09.2014 21:47 |
создание графа по матрице и поиск кратчайшего пути из одного графа в другой | lexflax | Общие вопросы C/C++ | 1 | 06.09.2012 07:32 |
Построить ломаную линию по заданныи вершинам. Вершины указываются с клавиатуры по «методу резиновой нити». | HollywoodStar | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 17.12.2011 14:36 |
по заданной матрице смежности простого графа построить каркас этого графа с использованием поиска вширь | d1m2o3n4 | Помощь студентам | 0 | 22.06.2011 22:43 |
проход по дереву на c++ | Skilluser | Помощь студентам | 18 | 20.11.2010 19:34 |