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.