矩阵乘法
设A为
的矩阵,B为
的矩阵,那么称
的矩阵C为矩阵A与B的乘积,记作
,其中矩阵C中的第
行第
列元素可以表示为:

如下所示:

当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。
-
矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。
-
乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。
1 #include <iostream> 2 using namespace std; 3 4 int main() { 5 int matrix_a[10][10]; 6 int matrix_b[10][10]; 7 int m; 8 int n; 9 cin >> m >> n; 10 for (int i = 0; i < m; i++) { 11 for (int j = 0; j < n; j++) { 12 cin >> matrix_a[i][j]; 13 } 14 } 15 for (int i = 0; i < n; i++) { 16 for (int j = 0; j < m; j++) { 17 cin >> matrix_b[i][j]; 18 } 19 } 20 int matrix_c[10][10]; 21 for (int i = 0; i < m; i++) { 22 for (int j = 0; j < m; j++) { 23 matrix_c[i][j] = 0; 24 for (int k = 0; k < n; k++) { 25 matrix_c[i][j] += matrix_a[i][k] * matrix_b[k][j]; 26 } 27 } 28 } 29 for (int i = 0; i < m; i++) { 30 for (int j = 0; j < m; j++) { 31 if (j == 0) { 32 cout << matrix_c[i][j]; 33 } else { 34 cout << " " << matrix_c[i][j]; 35 } 36 } 37 cout << endl; 38 } 39 return 0; 40 }

浙公网安备 33010602011771号