program adjmatrix;
{ Nachbarschafts-Matrix eines ungerichteten Graphen }
uses crt;
const maxV = 'm'; { m ist der maximale Knoten !!!!!!!!!!!!!!! }
var V,E,j : integer;
a : array ['a'..maxV , 'a'..maxV] of boolean;
v1,v2 : char;
procedure print_adj_matrix(knoten : char);
var z,s : char;
begin
writeln(' A B C D E F G H I J K L M');
for z:='a' to knoten do
begin
write(chr(ord(z)-32),' ');
for s:='a' to knoten do
if a[z,s]=true then write(' 1 ') else write(' '); writeln;
end;
end;
begin
clrscr;
write('Geben Sie die Anzahl der Knoten und Kanten des Graphen ein : ');
readln(V,E);
writeln;writeln;
for v1:='a' to maxV do
for v2:='a' to maxV do a[v1,v2]:=false;
for j:=1 to E do
begin
write('Die ',j:2,'. Kante geht von : '); readln(v1);
write(' nach : '); readln(v2);
a[v1,v2]:=true;
a[v2,v1]:=true;
end;
readln;
clrscr;
print_adj_matrix(maxV);
readln;
end.