procedure LeggiGrafoEticDaFile (var grafo: TipoGrafoEtic;
nome_file: TipoNomeFile);
var
i,j : TipoNodo;
val_matrice : TipoEtichettaArco;
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 <> ArcoNonEsiste then
InserArcoEtic(grafo, i, j, val_matrice)
else
ElimArcoEtic(grafo, i, j)
end;
close(data_file)
end;
procedure ScriviGrafoEticSuFile (var grafo: TipoGrafoEtic;
nome_file: TipoNomeFile);
var
i,j : TipoNodo;
val_matrice : TipoEtichettaArco;
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
begin
EtichettaArco(grafo, i, j, val_matrice);
write(val_matrice,' ')
end;
writeln(data_file);
end;
close(data_file)
end;
procedure StampaGrafoEtic (var grafo: TipoGrafoEtic);
var
i,j : TipoNodo;
etichetta : TipoEtichettaArco;
begin
for i := 1 to NumNodi do
begin
write(i:2, ': ');
for j := 1 to NumNodi do
if TestEsisteArcoEtic(grafo, i, j) then
begin
EtichettaArco(grafo, i, j, etichetta);
write('- ', etichetta:5:2, '-> ', j)
end;
writeln
end
end;