任务描述
本关任务:给定两个矩阵,求它们的乘积。 矩阵乘示例如下:
图1 矩阵乘
从图 1 可以看到,相乘后的矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,给定以下两个矩阵,求它们的乘积。 矩阵一:
⎣⎢⎢⎢⎢⎢⎡5153211466543889874322666⎦⎥⎥⎥⎥⎥⎤
矩阵二:
⎣⎢⎡94483865229310668771882198100⎦⎥⎤
测试说明
平台将运行你编写的程序代码,若你的运行结果与预期输出一致,则通关。
预期输出:
1024 540 617 1477 1393
6164 2352 3303 9704 10985
5908 2804 2444 7773 7086
5486 1065 737 7733 9455
7588 2370 4480 13114 16288
// 请在Begin-End间编写完整代码,类名请使用Transpose /********** Begin **********/ public class Transpose{ public static void main(String[] args){ int[][] arr1={{5,6,7}, {15,65,43}, {32,43,22}, {11,88,6}, {4,98,66}}; int[][] arr2={{94,65,31,87,21}, {48,2,0,71,98}, {38,29,66,88,100},}; int[][] arr3 = new int[arr1.length][arr2[0].length]; for (int i = 0; i < arr1.length; i++) { for (int j = 0; j < arr2[0].length; j++) { for (int k = 0; k < arr2.length; k++) { arr3[i][j] += arr1[i][k] * arr2[k][j]; } } } print(arr3); } private static void print(int[][] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[0].length; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); } } } /********** End **********/