1562: 自定义矩阵类
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:59
解决:33
题目描述
请你按照要求编写程序:
1、自定义一个矩阵类Matrix,该类包含的属性有:矩阵的行row,矩阵的列col,以及用于存放矩阵数据的二维数组data。
2、定义无参数的构造方法Matrix(),用于初始化矩阵为1*1的矩阵,其值为0.
3、定义有参数的构造方法Matrix(int row,int col),用于将矩阵初始化为row行col列的矩阵,且矩阵内每个值都是0.
4、定义一个求矩阵内所有元素和的方法total(),该方法返回矩阵内所有元素相加的和。
5、定义一个求矩阵主对角线元素和的方法diagonal(),该方法返回矩阵主对角线元素相加的和。
6、定义一个求2个矩阵相乘的方法multiplication(),该方法返回2个矩阵相乘以后得到的矩阵。
矩阵乘法运算规则如下所示:
输入2个矩阵的数据,计算它们的乘积,输出得到的乘积(矩阵)的所有元素和、主对角线和。
输入
输入有多组。
每组第一行是个正整数n,表示参与乘法运算的2个矩阵都是n*n的矩阵。
随后是2个n行数据,每行n个正整数。每一个n行数据表示一个矩阵。
当n==0时结束输入。
输出
输出相乘以后得到的矩阵,并输出该矩阵的所有元素和、主对角线和。
输出格式见范例。
样例输入 复制
2
1 0
0 1
2 2
2 2
3
1 2 3
1 2 3
1 2 3
1 0 0
0 1 0
0 1 1
0
样例输出 复制
2个矩阵相乘的结果是:
2 2
2 2
该矩阵的所有元素和是8,主对角线和是4.
2个矩阵相乘的结果是:
1 5 3
1 5 3
1 5 3
该矩阵的所有元素和是27,主对角线和是9.