Курсовая работа: Построение матрицы достижимости
Val:=0;
For k:=1 to MaxNodes do
Val:=Val OR (A[i,k] AND B[k,j]);
C[i,j]:=Val end
END;
PROCEDURE T_r_a_n_s_C_l_o_s_e (Adj: AdjMatrix; var Path: AdjMatrix);
{ Вычислени матрицы достижимости Path по }
{ заданной матрицы смежностей Adj }
var i,j,k : NodePtr;
NewProd: AdjMatrix;
AdjProd: AdjMatrix; BEGIN
AdjProd:=Adj; Path:=Adj;
For i:=1 to MaxNodes-1 do begin
P_r_o_d (AdjProd,Adj,NewProd);
For j:=1 to MaxNodes do For k:=1 to MaxNodes do
Path[j,k]:=Path[j,k] OR NewProd[j,k];
AdjProd:=NewProd
end
END;
BEGIN
clrscr;
{ Ввод матрицы смежностей заданного графа }
WriteLn ('Вводите элементы матрицы смежностей по строкам:');
For i:=1 to MaxNodes do
For j:=1 to MaxNodes do begin
Write ('‚Введите Adj[',i,',',j, ']: '); ReadLn (Adj[i,j]) end;
{ Вычисление и вывод матрицы достижимости }
T_r_a_n_s_C_l_o_s_e (Adj,Path);
WriteLn ('Матрицадостижимости: ');