矩阵乘法

A
  
的矩阵,B
  
的矩阵,那么称
  
的矩阵C为矩阵AB的乘积,记作
  
,其中矩阵C中的第
 
行第
  
列元素可以表示为:
如下所示:
 
当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。
  1. 矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。
  2. 乘积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 }

     

 
posted @ 2017-09-03 15:25  angelgame  阅读(81)  评论(0)    收藏  举报