作业帮 > 综合 > 作业

Pascal问题:矩阵乘法

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/15 03:06:47
Pascal问题:矩阵乘法
设A是个m行n列的矩阵,B是个n行r列的矩阵,则AB是可以相乘的(条件是前一个矩阵的列数等于后一个矩阵的行数),乘积AB是个m行r列的矩阵,可以写成AB=C,
如A=
2 1 7
7 0 5 (2行,3列)
B=
1 5 9 11
1 0 1 5
6 9 8 3 (3行4列)
C=A*B=
45 73 75 48
37 80 103 92 (2行4列)
例如,C[1,3] = A[1,1]*B[1,3]+A[1,2]*B[2,3]+A[1,3]*B[3,3]=
2*9 + 1*1 + 7*8 =75
也就是,C的第一行第三列的值,等于A的第一行与B的第三列的对应元素乘积的和
输入说明:第一行m,n,r 代表矩阵的形式
以下m+n行
输出说明:第一行,矩阵的行列数m,r
以下m行 每行r个数
输入样例:
1 2 2
1 1
0 1
1 1
输出样例:
1 2
1 2
Pascal问题:矩阵乘法
var
a,b,c,i,j,k:longint;
x,y,f:array[0..2000,0..2000]of longint;
begin
read(a);
read(b);
read(c);
for i:=1 to a do
for j:=1 to b do
read(x[i,j]);
for i:=1 to b do
for j:=1 to c do
read(y[i,j]);
writeln(a,' ',c);
for i:=1 to a do
begin
for j:=1 to c do
begin
for k:=1 to b do
f[i,j]:=f[i,j]+x[i,k]*y[k,j];
write(f[i,j],' ');
end;
writeln;
end;
end.