IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Программа поиска кратчайшего пути, Помогите с задачей, плиз
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Dima

Репутация: -  0  +


Народ, помогите решить плиз. Имеется N городов. Некоторые из них соединены дорогами известной длины. Система дорог моделируется матрицей N*N , элемент Аi,j равен -1, если соответсвующие I и J города не соединены прямой дорогой, или числу=длине дороги в противном случае. Программа поиска кратчайшего пути между K и L городами.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Алгоритм не задан?
У меня есть лабораторка по дискретке, где один из алгоритмов реализуется.
Но не программкой, а просто вручную. Хотя все довольно легко (на первый взгляд, во всяком случае) кодируется. Если хочешь, скинь в личку свое мыло - я отправлю (там doc-файл).


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Dima

Репутация: -  0  +


Алгоритм не задан. Единственное о чем догадываюсь кроме алгоритма так называемой волны - это о том что длины нужно хранить во вспомогательном массиве. Буду весьма признателен за алгоритм.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Проверяй мыло. Если что непонятно - спрашивай...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Dima

Репутация: -  0  +


Цитата(мисс_граффити @ 15.04.2007 13:58) *

Проверяй мыло. Если что непонятно - спрашивай...

спасибо, разобрался, как запрограммирую так и код размещу(надеюсь)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Dima

Репутация: -  0  +


uses crt;
var w,g,s:array [1..100,1..100] of integer;
n,i,j,k,l:integer;
file1:file of integer;
Procedure Floyd;
var i,j,m:integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
S[i,j]:=G[i,j];
if G[i,j]=-1 then W[i,j]:=0
else W[i,j]:=j;
end;
for i:=1 to n do
for j:=1 to n do
for m:=1 to n do
if ((i<>j) and (S[j,i]<>-1) and (i<>m) and (S[i,m]<>-1) and ((S[j,m]=-1)
or (S[j,m]>S[j,i]+S[i,m]))) then
begin
W[j,m]:=W[j,i];
S[j,m]:=S[j,i]+S[i,m];
end;
end;
Procedure ShowWay(u,v:integer);
var x:integer;
begin
x:=u;
write(x,'');
while (x<>v) do
begin
x:=W[x,v];
write('--',x);
end;
end;
begin
assign(file1,'d:\mass.txt');
reset(file1);
clrscr;
writeln('vvedite pozhaluysta kolichestvo gorodov n');
readln(n);
for i:=1 to n do
for j:=1 to n do
if i<>j then
begin
writeln('vvedite dlinu dorogi mezhdu ',i,'-im i ',j,'-im gorodami');
read(file1,G[i,j]);
end;
writeln('vvedite pozhaluysta nuzhnie goroda k i l');
readln(k,l);
if (k>n) or (l>n) then
begin
writeln('takih gorodov prosto ne suschestvuyet');
readln;
exit;
end;
floyd;
showway(k,l);
writeln(' kratchaishiy put raven= ',S[k,l]);
readln;
close(file1);
end.




Добавлено через 3 мин.
Вот и все... Спасибо Мисс Графити за помощь, программа работает читая значения длин из файла... Вот и все с курсовой... cool.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 10:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name