// PascalABC.NET 3.1, сборка 1219 от 16.04.2016type Matrix=array[,] of integer;procedure MatPrint(a:Matrix; w:integer);begin for var i:=0 to Length(a,0)-1 do begin for var j:=0 to Length(a,1)-1 do Write(a[i,j]:w); Writeln endend;procedure MatProd(a,b,c:Matrix);begin for var i:=0 to Length(a,0)-1 do for var j:=0 to Length(b,1)-1 do begin var s:=0; for var k:=0 to Length(a,1)-1 do s+=a[i,k]*b[k,j]; c[i,j]:=s endend;begin var a,b,c:Matrix; var m,n,p:integer; Write('Число строк матрицы А: '); Read(n); Write('Число столбцов матрицы А и строк матрицы В: '); Read(m); Write('Число столбцов матрицы В: '); Read(p); a:=MatrixRandom(n,m,-50,50); Writeln('Матрица А'); MatPrint(a,4); b:=MatrixRandom(m,p,-50,50); Writeln('Матрица B'); MatPrint(b,4); SetLength(c,n,p); Writeln('Матрица C'); MatProd(a,b,c); MatPrint(c,7)end.
Тестовое решение:Число строк матрицы А: 4Число столбцов матрицы А и строк матрицы В: 8Число столбцов матрицы В: 7Матрица А 33 -30 20 7 1 5 10 -47 -6 -1 -22 6 -33 41 4 -1 -10 -45 -16 6 -13 9 1 37 5 37 15 -48 42 -19 1 26Матрица B -19 42 -14 -36 38 -18 -41 -24 -20 26 -50 -36 -5 -32 -1 5 -43 15 11 49 0 -44 -35 -27 20 33 -49 14 40 7 -38 -37 48 2 -26 -24 5 -11 12 -43 47 -42 -24 11 8 -13 -9 -13 -12 -41 46 -24 20 3 -25 -25Матрица C 1372 -179 -1176 -295 2387 1475 524 -2463 -580 1701 1697 -3622 575 -525 -1255 1857 -989 3806 353 -1214 957 2160 2631 -460 -4040 341 1340 -3017