Написала пвг....но какой то косяк не могу понять в чем проблема,не выводится результат процедуры
uses crt; const max=100; var Matrix:array [1..max,1..max] of byte; i,j,n,r,time,k:integer; num,ftr,Q:array [1..max] of integer; tn,tk:array[1..max] of integer; procedure dfs(r:integer); var i,j,k,p:integer;
begin time:=time+1; tn[i]:=time; num [i]:=k; k:=k+1;
for i:=1 to n do begin if num[i]=0 then begin ftr[i]:=i; dfs(j); end; time:=time+1; tk[i]:=time
end;
end;
begin clrscr;
writeln('----Поиск в глубину-----'); write('Введите количество вершин графа:'); readln(n); writeln('Заполнение матрицы смежности'); for i:=1 to n do for j:=1 to n do begin Write('(',i,',',j,')='); read(Matrix[i,j]); if Matrix[i,j] <> 0 then Matrix[i,j]:=1; end; //вывод матрицы смежностиж; writeln('Матрица смежности'); for i:=1 to n do begin for j:=1 to n do write(Matrix[i,j],' '); writeln; end; writeln;
//процедура bfs; writeln('Результат dfs'); for i:=1 to n do begin num[i]:=0; ftr[i]:=0; time:=0; k:=1; end; for r:=1 to n do if num[r]=0 then dfs®;
//вывод массивов num ftr; write('num: '); for i:=1 to n do write(num[i],' '); writeln; write('ftr:'); for i:=1 to n do write(ftr[i],' '); writeln; readln; end.
Псевдокод кинула по которому написано
Сообщение отредактировано: Юлия92 - 26.04.2012 17:08