![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Я отвечу за ТС: "Да, ведь в этом то и весь смысл, т.к. "откуда" и "куда" задаётся в условии".
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
FPaul,насколько я понимаю,эту функцию нужно вызывать в цикле Флойда и наверное еще передавать саму матрицу?
Код:
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Не буду обманывать. Я плоховато знаком с теорией графов. Но то, что я прочитал по приведённым мною ссылкам, думаю, интерпретировать так:
- есть матрица смежности с весами путей d. - вызываем алгоритм Флойда-Уэшелла и на выходе получаем две матрицы d_mod (с вычисленными минимальными длинами путей) и p (с информацией для восстановления пути). Из этого вывод: поиск пути выполняется после завершения алгоритма Ф-У ( ![]() |
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
FPaul, проанализирую все действия,которые я делаю с матрицей С.
1. До цикла Флойда присваиваю ей значения k Код:
for (k=0; k<V; k++) for (i=0; i<V; i++) for (j=0; j<V; j++) if (D[i][k] && D[k][j] && i!=j) Код:
Код:
Последний раз редактировалось Вероника99; 31.01.2015 в 18:59. |
![]() |
![]() |
![]() |
#15 | |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Если ты делаешь лабу по ссылке из твоего первого поста, то там сказано
Цитата:
По твоей ссылке даётся пояснение физического смысла массива C. Думаю, надо попробовать восстановить путь или циклом или рекурсией. Я всё спихиваю на тебя, потому что у меня нет готовой проги для расчёта C и не могу экспериментально посмотреть на результат. И с языком C++ не дружу - паскалист. |
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
Да,вот я с этим восстановлением путей никак разобраться не могу и в инете не нашла конкретного примера с кодом
|
![]() |
![]() |
![]() |
#17 | |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Для 1-го случая заполнения С
Цитата:
|
|
![]() |
![]() |
![]() |
#18 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]() Код:
|
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Ну и я попробовал реализовать - только на Pascal.
За матрицу взял орграф из этого примера. Код:
Идея как и говорилось в методичке к 1 способу вычисления p[][]. И физический смысл совпадает. Поэтому при поиске пути "иду" назад от B к P[A, B], P[A, (P[A, B])], ..., A. На Pascal цикл repeat-until прекращается после превращения в истину выражения k=A (аналог в C k==A). |
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 15.12.2013
Сообщений: 414
|
![]()
Poma][a, я написала код по аналогии с вашим,вот что получилось . Можете посмотреть как в этом коде можно найти пути...
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ПОстроение графа по заданным вершинам | 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 |