作业帮 > 综合 > 作业

矩阵乘法C=A×B1 2 5 10 1 2 0 A=3 4 6 B= 8 3 4 77 5 6 9要把C输出来.用for

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 16:35:14
矩阵乘法C=A×B
1 2 5 10 1 2 0
A=3 4 6 B= 8 3 4 7
7 5 6 9
要把C输出来.
用for语句循环嵌套,
用pascal
program matrix;
const
maxn=100;
var
a,b,c:array[1..maxn,1..maxn]of integer;
i,j,k,n1,m1,n2,m2:integer;
begin
readln(n1,m1); {A矩阵的行数n1和列数m1}
for i:=1 to n1 do
begin
for j:=1 to m1 do read(a[i,j]);
readln;
end;
readln(n2,m2); {B矩阵的行数n2和列数m2(由于要进行矩阵乘法,故必须m1=n2)}
for i:=1 to n2 do
begin
for j:=1 to m2 do read(b[i,j]);
readln;
end;
for i:=1 to n1 do
for j:=1 to m2 do
for k:=1 to n2 do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
{矩阵乘法的计算公式:a[i,j]:=∑(k=0→m1/n2) a[i,k]*a[k,j]}
for i:=1 to n1 do
begin
for j:=1 to m2 do write(c[i,j],' ');
writeln;
end;
end.
{例:
输入:
2 3 >n2,m2
10 1 2 0
8 3 4 7
7 5 6 9
输出:
61 32 40 59
104 45 58 82
注:n*m的矩阵与m*t的矩阵相乘,得到一个n*t的矩阵}