{$N+} program NasobeniMatic; const m = 5; n = 4; type Matice1 = array [1..m, 1..n] of double; Matice2 = array [1..n, 1..m] of double; Matice3 = array [1..m, 1..m] of double; var a:Matice1; b:Matice2; c:Matice3; k,j,i:integer; procedure nactiMatici1(jmenoSouboru:string;var vystup:Matice1); var i,j:integer; soubor:Text; begin assign(soubor,jmenoSouboru); reset(soubor); for i := 1 to m do begin for j := 1 to n do begin read(soubor,vystup[i,j]); end; readln(soubor); end; close(soubor); end; procedure nactiMatici2(jmenoSouboru:string;var vystup:Matice2); var i,j:integer; soubor:Text; begin assign(soubor,jmenoSouboru); reset(soubor); for i := 1 to n do begin for j := 1 to m do begin read(soubor,vystup[i,j]); end; readln(soubor); end; close(soubor); end; begin nactiMatici1('matice1.txt',a); nactiMatici2('matice2.txt',b); for i := 1 to m do begin for j := 1 to m do begin c[i,j] := 0.0; for k := 1 to n do begin c[i,j]:=c[i,j]+a[i,k]*b[k,j] end; end; end; writeln('Vysledek je:'); for i:=1 to m do begin for j:=1 to m do begin write(c[i,j]:8:2); end; writeln; end; readln; end.