矩阵类的设计定义矩阵类,包含行、列和矩阵数据元素;要求至少设计以下各功能模块: 输入矩阵

问题描述:

矩阵类的设计
定义矩阵类,包含行、列和矩阵数据元素;
要求至少设计以下各功能模块:
 输入矩阵
 输出矩阵
 矩阵的加法
 矩阵的乘法
1个回答 分类:综合 2014-11-06

问题解答:

我来补答
{矩阵乘法}
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的矩阵}
 
 
展开全文阅读
剩余:2000