aorta_dr.pas

来自「This ar the basic programs that i did in」· PAS 代码 · 共 61 行

PAS
61
字号
program bf;
type matrice=array[1..50,1..50]of byte;
     vector=array[1..50]of integer;
var n:integer;
    viz,c:vector;
    a:matrice;
procedure citire;
var i,j:integer;
     f:text;
begin
assign(f,'e:\pascal\bin\graf.txt');
reset(f);
readln(f,n);
while not eof(f) do
      begin
      readln(f,i,j);
      a[i,j]:=1;
      a[j,i]:=1;
      end;
close(f);end;
procedure parcurgere;
var p,q,start,k,i,j:integer;
begin
k:=0;
repeat
j:=1;
while (j<=n) and (viz[j]<>0) do inc(j);
if j<>n then
        begin
        inc(k);
        start:=j;
        p:=1;
        q:=1;
        c[1]:=start;
        viz[start]:=k;
           while p<=q do
                      begin
                      for i:=1 to n do
                      if (a[c[p],i]=1) and (viz[i]=0) then
                                                      begin
                                                      inc(q);
                                                      c[q]:=i;
                                                      viz[i]:=k;
                                                      end;
                      end;
end;
until j=n+1;
writeln(k,'componente conexe');
for i:=1 to n do
              begin
              writeln('componenta',i,':');
              for i:=1 to n do
                            if viz[j]=i then write (j,i);
              writeln;
              end;
end;
begin
citire;
parcurgere;
readln;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?