Скачиваний:
28
Добавлен:
02.05.2014
Размер:
1.7 Кб
Скачать
Program wave;

const max = 1000;
type myMatrix = array[0..max-1, 0..max-1] of integer;

var matrixOfSmejnost : myMatrix;
i, j : integer;
fromNode, toNode, dimension : integer;

function existWay( fromNode, toNode, dimension : integer; matrix : myMatrix ) : boolean;
var find : boolean;
temp1, temp2 : myMatrix;
i, j, k, step : integer;
begin
find := false;
temp2 := matrix;

find := ( temp2[fromNode,toNode] = 1 );
step := 0;
while ( not find ) and ( step < dimension ) do begin
temp1 := temp2;
for i := 0 to dimension - 1 do begin
for j := 0 to dimension - 1 do begin
temp2[i,j] := 0;
for k := 0 to dimension - 1 do begin
temp2[i,j] := temp2[i,j] + temp1[i,k]*matrix[k,j];
end;
end;
end;
find := ( temp2[fromNode,toNode] = 1 );
step := step + 1;
end;
existWay := find;
end;

begin
writeln('Exist way.');
write('Enter graph dimension: '); readln( dimension );
for i := 0 to dimension-1 do begin
write('Enter '); write( i + 1 ); write(' row: ');
for j := 0 to dimension-1 do begin
read(matrixOfSmejnost[i,j]);
end;
end;
readln;
write('Enter From Node: '); readln( fromNode );
write('Enter To Node: '); readln( toNode );
write('Question: Exist way from '); write( fromNode ); write(' to '); write( toNode ); writeln('?');
write('Answer: '); writeln( existWay( fromNode - 1, toNode - 1, dimension, matrixOfSmejnost ) );
writeln('Press Enter to continue...');
readln;
end.