c++第24课作业

感谢您能抽出几分钟时间来参加本次答题,现在我们就马上开始吧!
09:矩阵乘法


描述

计算两个矩阵的乘法。n*m阶的矩阵A乘以m*k阶的矩阵B得到的矩阵C 是n*k阶的,且C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + …… +A[i][m-1]*B[m-1][j](C[i][j]表示C矩阵中第i行第j列元素)。


输入

第一行为n, m, k,表示A矩阵是n行m列,B矩阵是m行k列,n, m, k均小于100 然后先后输入A和B两个矩阵,A矩阵n行m列,B矩阵m行k列,矩阵中每个元素的绝对值不会大于1000。

 

输出

输出矩阵C,一共n行,每行k个整数,整数之间以一个空格分开。


样例输入

3 2 3

1 1

1 1

1 1

1 1 1

1 1 1


样例输出

2 2 2

2 2 2

2 2 2

    ____________
21:二维数组右上左下遍历


描述

给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组。


输入

输入的第一行上有两个整数,依次为row和col。 余下有row行,每行包含col个整数,构成一个二维整数数组。 (注:输入的row和col保证0 < row < 100, 0 < col < 100)


输出

按遍历顺序输出每个整数。每个整数占一行。


样例输入

3 4

1 2 4 7

3 5 8 10

6 9 11 12


样例输出

1

2

3

4

5

6

7

8

9

10

11

12

    ____________
22:神奇的幻方


描述

幻方是一个很神奇的N*N矩阵,它的每行、每列与对角线,加起来的数字和都是相同的。

我们可以通过以下方法构建一个幻方。(阶数为奇数)

1.第一个数字写在第一行的中间

2.下一个数字,都写在上一个数字的右上方:


a.如果该数字在第一行,则下一个数字写在最后一行,列数为该数字的右一列  

 b.如果该数字在最后一列,则下一个数字写在第一列,行数为该数字的上一行  

 c.如果该数字在右上角,或者该数字的右上方已有数字,则下一个数字写在该数字的下方


输入

一个数字N(N<=20

 

输出

按上方法构造的2N-1 * 2N-1的幻方


样例输入

3


样例输出

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

    ____________
23:二维数组回形遍历


描述

给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序遍历整个数组。如图所示:


输入

输入的第一行上有两个整数,依次为row和col。 余下有row行,每行包含col个整数,构成一个二维整数数组。 (注:输入的row和col保证0 < row < 100, 0 < col < 100)


输出

按遍历顺序输出每个整数。每个整数占一行。


样例输入

4 4

1   2   3   4

12 13 14 5

11 16 15 6

10  9   8  7


样例输出

1

2

3

4

5

6

7

8

9

1 0

11 

12 

13 

14 

15 

16 

    ____________

4题 | 被引用0次

使用此模板创建