Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 22:15   #1
LENA_M
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 98
По умолчанию поиск кратчайшего пути

Здравствуйте,
Мне Я создала граф в xml и мне нужно реализовать алгоритм Дейкстры, или любой другой алгоритм поиска кратчайшего пути в графе.
Я нашла алгоритм (в исходниках), но мне надо знать можно ли в си создать ссылку на xml документ, где описан граф, или наоборот: в xml файле создать ссылку на си, где описал алгоритм.
Мне надо, чтоб рисовался граф, чтоб при клике на вершины, алгоритм находил кратчайший путь.
Вот этот алгоритм в общем виде, мне надо, чтоб алгоритм искал кратчайший путь из любой вершины до заданной...
}{Dijkstra'salgorithm}
var a : array [1..20,1..20] of word;
c, pred : array [1..20] of word;
i, j, k, n, first, last, jn, kn : byte;
f, g : text;
min : word;
begin assign(f,'in.txt');
reset(f);
readln(f, n);
for i := 1 to n do
begin for j := 1 to n do
read(f, a[i,j]);
readln(f);
end;
readln(f, first, last);
close(f); min := 32767;
for j := 1 to n do
if a[first,j] < min then begin min := a[first,j];jn := j;end;
c[jn] := min;
pred[jn] := first;
j := jn;
for i := 2 to n do
begin min := 32767;
for j := 1 to n do
if c[j] <> 0 then
begin
for k := 1 to n do
if (c[j] + a[j,k] < min)and(c[k] = 0)
then
begin min := c[j] + a[j,k];jn := j;kn := k;end;

end;
c[kn] := min;pred[kn] := jn;
end;
assign(g,'out.txt');
rewrite(g);
if c[last] = 32767 then writeln(g,'N')
else
begin
writeln(g,'Y');
write(g,first,' ');
i := last;k := 1;
while i <> first do
begin
a[1,k] := i;
k := k + 1;
i := pred[i];
end;
for i := k -downto 1 do
write(g,a[1,i],' ');
writeln(g);
writeln(g,c[last]);
end;
close(g);
end.
LENA_M вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм Флойда. Поиск Кратчайшего пути. Shady Помощь студентам 5 06.10.2014 18:29
поиск кратчайшего пути проходящий через ВСЕ города C++ vo_sa Общие вопросы C/C++ 2 02.06.2009 21:21
Поиск кратчайшего пути в графе методом полного перебора в глубину. Метод ветвей и границ Олинька Помощь студентам 1 24.12.2008 16:22
1) Поиск кратчайшего пути в графе методом полного перебора в ширину(очередь) Serega123 Помощь студентам 3 30.10.2008 22:26