program matmult;(* multiplikation von zwei  *)(* matizen vorgegebener groesse *)const n=5;      m=3;      l=4;type a1=array[1..n,1..m] of real;     b1=array[1..m,1..l] of real;     c1=array[1..n,1..l] of real;var a:a1;    b:b1;    c:c1;procedure eingeben(var x:a1; var y:b1);var i,j:integer;begin  writeln('bitte ',n,' kreuz ',m,' matrix eingeben');  for i:=1 to n do      for j:=1 to m do read (x[i,j]);  writeln('bitte ',m,' kreuz ',l,' matrix eingeben');  for i:=1 to m do      for j:=1 to l do read(y[i,j]);end;procedure multiplizieren (f1:a1; f2:b1; var produkt:c1);var i,j: integer;function mult (f1:a1; f2:b1; var i,j:integer): real;var d:real;    k:integer;begin   d:=0.0;   for k:=1 to m do d:=d+f1[i,k]*f2[k,j]);   mult:=d;end;begin   for i:=1 to n do       for j:=1 to l do produkt[i,j]:=mult(f1,f2,i,j)end;procedure ausgeben (var c:c1);var i,j: integer;begin   writeln('ergebnis der multiplikation');   for i:=1 to n do   begin      for j:=1 to l do write (c[i,j]:8:2);      writeln;   end;end;begin   eingeben(a,b);   multiplizieren(a,b,c);   ausgeben(c)end.