Pagini recente » Cod sursa (job #1219431) | Cod sursa (job #92324) | Cod sursa (job #2195600) | Cod sursa (job #2252756) | Cod sursa (job #889672)
Cod sursa(job #889672)
//se da matricea costurilor
//pe diagonala principala 0-uri
//sa aplice RoyFloyd si sa se afiseze matricea costurilor
program saddasdasdasd;
type mat=array[1..100,1..100]of integer;
var d:mat;
n:integer;
f,g:text;
procedure initializare;
var i,j:integer;
begin
readln(f,n);
for i:=1 to n do
begin
for j:=1 to n do read(f,d[i,j]);
readln(f);
end;
end;
procedure drumuri(var d:mat);
var i,j,k:integer;
begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if (d[i,k]<>0)and(d[k,j]<>0)and (i<>j) then
if (d[i,j]>d[i,k]+d[k,j])or(d[i,j]=0) then d[i,j]:=d[i,k]+d[k,j];
end;
procedure afisare;
var i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do write(g,d[i,j],' ');
writeln(g);
end;
end;
begin
assign(f,'royfloyd.in');reset(f);
assign(g,'royfloyd.out');rewrite(g);
initializare;
drumuri(d);
afisare;
close(f);close(g);
end.