Перемножить две прямоугольные матрицы с использованием функции пользователя — Pascal(Паскаль)

program PrMatr;
uses crt;
type matr = array [1..8, 1..8] of real;
procedure UmnMatr(x,y:integer;m1,m2:matr;var m3:matr);
var k,i,j:integer;
begin
for k:=1 to x do
for j:=1 to x do
  begin
    m3[k,j]:=0;
    for i:=1 to y do
    m3[k,j]:=m3[k,j]+m1[k,i]*m2[i,j];
  end;
end;
var A,B,C:Matr;
    n,m,l : integer;
    i,j,k : integer;
begin
clrscr;
write ('введите количество строк первой  n=');
readln (n);
write ('введите количество столбцов первой матрицы и строк второй матрицы m=');
readln (m);
write ('введите количество столбцов второй матрицы l=');
readln (l);
writeln ('введите элементы матрицы А: ');
for i:=1 to n do
for j:=1 to m do
begin
write ('A[',i,',',j,']=');
readln(A[i,j]);
end;
writeln ('введите элементы матрицы B : ');
for i:=1 to m do
for j:=1 to l do
begin
write ('B[',i,',',j,']=');
readln(B[i,j]);
end;
clrscr;
writeln('Matrica A:');
for i:=1 to n do
  begin
    for j:=1 to m do
    write(a[i,j]:6:2);
    writeln;
  end;
writeln('Matrica B:');
for i:=1 to m do
  begin
    for j:=1 to l do
    write(b[i,j]:6:2);
    writeln;
  end;
writeln ('матрица С=A*B:');
UmnMatr(n,m,a,b,c);
for i:=1 to n do
   begin
     for j:=1 to l do
     write (C[i,j]:8:2);
     writeln;
   end;
readln
end.

Leave a Comment

+ 50 = 52