http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=3532
2個陣列 ab 以及 xy 是列乘行 矩陣相乘用三迴圈實作,最外迴圈a控制 第二個y控制 第三個b控制
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
while (scn.hasNext()) {
int a = scn.nextInt(), b = scn.nextInt(), arr[][] = new int[a][b];//輸入到第一個陣列
for (int i = 0; i < a; i++) {
for (int j = 0; j < b; j++)
arr[i][j] = scn.nextInt();
}
int x = scn.nextInt(), y = scn.nextInt(), ary[][] = new int[x][y];//輸入到第二個陣列
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++)
ary[i][j] = scn.nextInt();
}
int ans[][] = new int[a][y];
for (int i = 0; i < a; i++) {//控制列(第一個陣列)
for (int j = 0; j < y; j++) {//控制行(第二個陣列)
int num = 0;
for (int k = 0; k < b; k++) {//每個元素(第一個陣列的左到右,第二個陣列上到下)
num += arr[i][k] * ary[k][j];
}
ans[i][j] = num;
}
}
for (int i = 0; i < a; i++) {
for (int j = 0; j < y; j++) {
if (j != 0)
System.out.print(" ");
System.out.print(ans[i][j]);
}
System.out.println();
}
}
}
/*
題目:[C_AR62-中] 矩陣相乘
作者:1010
時間:西元 2016 年 7 月 */
}