Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình nhân hai ma trận trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình nhân hai ma trận.

Đối với điều này, chúng tôi sẽ được cung cấp với hai ma trận và nhiệm vụ của chúng tôi là in ra tích của hai ma trận đó. Điều kiện duy nhất là số cột của ma trận đầu tiên phải bằng số hàng của ma trận thứ hai.

Ví dụ

#include <iostream>
using namespace std;
#define N 4
//multiplying the elements of both matrices
void calc_product(int mat1[][N], int mat2[][N], int res[][N]){
   int i, j, k;
   for (i = 0; i < N; i++) {
      for (j = 0; j < N; j++){
         res[i][j] = 0;
         for (k = 0; k < N; k++)
            res[i][j] += mat1[i][k] * mat2[k][j];
      }
   }
}
int main(){
   int i, j;
   int res[N][N];
   int mat1[N][N] = {{1, 1, 1, 1},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {4, 4, 4, 4}};
   int mat2[N][N] = {{1, 1, 1, 1},
      {2, 2, 2, 2},
      {3, 3, 3, 3},
      {4, 4, 4, 4}};
   calc_product(mat1, mat2, res);
   cout << "Resultant matrix :\n";
   for (i = 0; i < N; i++){
      for (j = 0; j < N; j++)
      cout << res[i][j] << " ";
      cout << "\n";
   }
   return 0;
}

Đầu ra

Resultant matrix :
10 10 10 10
20 20 20 20
30 30 30 30
40 40 40 40