矩阵类的设计定义矩阵类,包含行、列和矩阵数据元素;要求至少设计以下各功能模块: 输入矩阵 输出矩阵 矩阵的加法 矩阵的乘法
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 03:59:09
矩阵类的设计定义矩阵类,包含行、列和矩阵数据元素;要求至少设计以下各功能模块: 输入矩阵 输出矩阵 矩阵的加法 矩阵的乘法
矩阵类的设计
定义矩阵类,包含行、列和矩阵数据元素;
要求至少设计以下各功能模块:
输入矩阵
输出矩阵
矩阵的加法
矩阵的乘法
矩阵类的设计定义矩阵类,包含行、列和矩阵数据元素;要求至少设计以下各功能模块: 输入矩阵 输出矩阵 矩阵的加法 矩阵的乘法
{矩阵乘法}
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 {读入矩阵A}
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 {读入矩阵B}
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 {输出矩阵C}
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的矩阵}