1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
program graphe_clement_gildas;
const n=100 ;
var
H,H2 : array[1..n, 1..n] of boolean ;
i,j,k,nb,a,b,c: integer;
F : text ;
begin
writeln('Entre le nombre de noeuds');
readln(nb);
Assign (F,'C:\serve_bulletin0.txt');
Reset(F);
while not eof(F) do
begin
readln(F,i,j);
H[i,j]:= true;
end;
writeln('entrez les valeurs des deux noeuds');
readln(a,b);
c := 1;
H2 := H;
while (H2[a,b] = false) and (c <= nb) do
begin
for i := 1 to nb do
begin
for j := 1 to nb do
begin
for k:= 1 to nb do
begin
H2[i,j]:=H[i,k]and H[k,j] or H2[i,j];
end;
end;
end;
H := H2;
c := c+1;
end;
if c > nb then c:= 0;
writeln('le nombre d arcs entre ',a,' et ',b,' est egal a ',c);
for i := 1 to nb do
begin
for j := 1 to nb do
begin
write(H2[i,j],' ');
end;
writeln;
end;
readln ;
end |
Partager