Помогите пожалуйста! Даны квадратные матрицы А(nxn), B(nxn), C(nxn). Написать программу...

0 голосов
145 просмотров

Помогите пожалуйста!
Даны квадратные матрицы А(nxn), B(nxn), C(nxn). Написать программу
вычисления матрицы (А+В)*С. Паскаль


Информатика (71 баллов) | 145 просмотров
0

это немного не школа, а универ) но уточнения никакого не было, скалярно перемножать или нет

0

скорее всего да

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Матрица А ***');
  var a:=MatrRandom(n,n,-50,50); a.Println(4);
  Writeln('*** Матрица B ***');
  var b:=MatrRandom(n,n,-50,50); b.Println(4);
  Writeln('*** Матрица C ***');
  var c:=MatrRandom(n,n,-50,50); c.Println(4);
  Writeln(4*a.ColCount*'-');
  Writeln('*** (|A|+|B|)x|C| ***');
  var t:=new integer[n,n]; // временная иатрица для суммы
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do
      t[i,j]:=a[i,j]+b[i,j]; // сумма матриц
  var r:=new integer[n,n]; // матрица-результат
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do begin
      var s:=0;
      for var k:=0 to n-1 do s+=t[i,k]*c[k,j];
      r[i,j]:=s
      end;
  r.Println(8)
end.

Пример
Количество строк/столбцов в матрице: 6
*** Матрица А ***
  32 -26  27 -45 -48  38
 -40  -5 -20 -26  23  27
   0  33   1 -38 -42  14
  11   1  33  43 -43 -30
 -11  15  -8 -19  14  36
  16  24 -34 -33  33  22
*** Матрица B ***
 -20  42 -10  10 -38  27
 -30  18 -17 -43  22  12
  -8 -45  17 -45  34  45
 -12  39 -34   6  17 -12
  -5  30  31  -5   8  49
  10 -17 -50  29  32 -34
*** Матрица C ***
 -26 -49 -12 -45  23 -10
  38 -19  43  31  39   9
 -32  10  41 -29  29  44
   6  24 -25 -49 -36 -18
  47  25 -41 -16  -3 -11
  12  13 -27   1  31  33
------------------------
*** (|A|+|B|)x|C| ***
   -3720   -2867    3887    2619    4926    4493
    5667    2789   -1291    7326    1382    1223
    -990    -625    1128    3720    4711    4293
     146    -741    2666    -713   -1480   -1656
    3300    1238     473    2357    5487    4572
    5165    -874   -5696     627   -1988   -4932
(150k баллов)
0

ох, ну ты и машина:D спасибо огромное

0

это был комплимееент

0

значит, что ты молодец)

0

прошу прощения