• решите пожалуйста задачу:Заданы две целочисленные матрицы A и B. Матрица A состоит из N строк и M столбцов, Матрица B состоит из M строк и P столбцов. Требуется вычислить произведение данных матриц A*B.язык паскаль

Ответы 1

  • // 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
    • Автор:

      brynnjokm
    • 2 года назад
    • 7
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years