JAVA實現矩陣乘法

計算兩個矩陣的乘法。n*m階的矩陣A乘以m*k階的矩陣B得到的矩陣Cn*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矩陣是nm列,B矩陣是mk列,n, m, k均小於100然後先後輸入AB兩個矩陣,A矩陣nm列,B矩陣mk列,矩陣中每個元素的絕對值不會大於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

代碼:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int [][] a = new int [110][110];
		int [][] b = new int [110][110];
		int [][] c = new int [110][110];
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int k = scanner.nextInt();
		for (int i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
            	a[i][j] = scanner.nextInt();
		for (int i = 0; i < m; i++)
            for (int j = 0; j < k; j++)
            	b[i][j] = scanner.nextInt();       	
		scanner.close();
		for(int i = 0; i <= n - 1; i++)
			for(int j = 0; j <= k; j++)	
				for(int t = 0; t <= m; t++)
					c[i][j] += a[i][t] * b[t][j];
		for(int i = 0; i < n ; i++){
			for(int j = 0; j < k; j++){
				System.out.print(c[i][j] + " ");
			}
			System.out.println(" ");
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章