Вычислить произведение матриц - 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.
Объяснение кода листинга программы
Список действий в коде:
- Ввод количества строк матрицы A.
- Ввод количества столбцов матрицы A.
- Заполнение матрицы A.
- Вывод матрицы A.
- Ввод количества столбцов матрицы B.
- Заполнение матрицы B.
- Вывод матрицы B.
- Выполнение операции умножения матриц A и B с сохранением результата в матрице C.
- Вывод матрицы C.