程序在C ++中将两个矩阵相乘

在本教程中,我们将讨论一个将两个矩阵相乘的程序

为此,我们将获得两个矩阵,而我们的任务是打印两个矩阵的乘积。唯一的条件是,第一矩阵的列数应等于第二矩阵的行数。

示例

#include <iostream>

using namespace std;

#define N 4

//将两个矩阵的元素相乘

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;

}

输出结果

Resultant matrix :

10 10 10 10

20 20 20 20

30 30 30 30

40 40 40 40

以上是 程序在C ++中将两个矩阵相乘 的全部内容, 来源链接: utcz.com/z/343359.html

回到顶部