procedure LeggiGrafoDaFile (var grafo: TipoGrafo; nome_file: TipoNomeFile);
var
i,j : TipoNodo;
val_matrice : integer;
data_file : Text;
begin
assign(data_file, nome_file);
reset(data_file);
for i := 1 to NumNodi do
for j := 1 to NumNodi do
begin
read(data_file, val_matrice);
if val_matrice = 1 then
InserArco(grafo, i, j)
else
ElimArco(grafo, i, j)
end;
close(data_file)
end;
procedure ScriviGrafoSuFile (var grafo: TipoGrafo; nome_file: TipoNomeFile);
var
i,j : TipoNodo;
val_matrice : integer;
data_file : Text;
begin
assign(data_file, nome_file);
rewrite(data_file);
for i := 1 to NumNodi do
begin
for j := 1 to NumNodi do
if TestEsisteArco(grafo, i, j) then
write(data_file, 1, ' ')
else
write(data_file, 0, ' ');
writeln(data_file)
end;
close(data_file)
end;
procedure StampaGrafo (var grafo: TipoGRafo);
var
i,j : TipoNodo;
begin
for i := 1 to NumNodi do
begin
write(i:2, ': ');
for j := 1 to NumNodi do
if TestEsisteArco(grafo, i, j) then
write(' -> ',j);
writeln
end
end;