Вычислить произведение матриц - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

2. Вычислить произведение матриц. Для нахождения произведения, ввода и вывода элементов матриц составить соответствующие процедуры.

Решение задачи: «Вычислить произведение матриц»

textual
Листинг программы
program pr;
type
arr=array[1..100,1..100]of integer;
var
x,y,z:integer;
a,b,c:arr;
procedure fill(var m:arr; f,y:integer);
var i,j:integer;
begin
 for i:=1 to x do
 begin
 for j:=1 to y do
 read(m[i,j]);
 writeln;
 end;
 readln;
end;
procedure show(m:arr; f,y:integer);
var i,j:integer;
begin
 for i:=1 to x do
 begin
  for j:=1 to y do 
  write(m[i,j]:4);
  writeln;
 end;
end;
procedure mult(a:arr; f,y:integer; b:arr; z:integer; var c:arr);
var i,j,k:integer;
    s:integer;
begin
 for i:=1 to x do
 for j:=1 to z do
 begin
  S:=0;
  for k:=1 to y do
  S:=S+a[i,k]*b[k,j];
  c[i,j]:=S;
 end;
end;
begin
write('умножение ');
 begin
   write('Введите кол-во строк матрицы A:');
   readln(x);
   write('Введите кол-во столбцов матрицы A:');
   readln(y);
   fill(a,x,y);
   show(a,x,y);
   write('Введите количество столбцов матрицы B:');
   readln(z);
   fill(b,y,z);
   show(b,y,z);
   mult(a,x,y,b,z,c);
   writeln('Матрица C ');
   writeln;
   show(c,x,z);
   end;
   end.

Объяснение кода листинга программы

Список действий в коде:

  1. Ввод количества строк матрицы A.
  2. Ввод количества столбцов матрицы A.
  3. Заполнение матрицы A.
  4. Вывод матрицы A.
  5. Ввод количества столбцов матрицы B.
  6. Заполнение матрицы B.
  7. Вывод матрицы B.
  8. Выполнение операции умножения матриц A и B с сохранением результата в матрице C.
  9. Вывод матрицы C.

Оцени полезность:

9   голосов , оценка 3.444 из 5
Похожие ответы