在C++程序中查找通过添加相同矩阵的行优先和列优先顺序形成的矩阵的迹线

在本教程中,我们将编写一个程序来查找由行和列主矩阵形成的矩阵的迹。

让我们看看在给定矩阵顺序时如何形成行和列主矩阵。

订单- 3 x 3

行主要矩阵-

123
456
789

列主要矩阵-

147
258
369

我们有行和列主矩阵。现在,我们必须将两个矩阵相加。结果矩阵的迹就是我们要寻找的结果。

让我们看看编写代码来解决问题。我们必须完成以下4个步骤才能完成问题的解决方案。

  • 创建行主矩阵。

  • 创建列主矩阵。

  • 将两个矩阵相加并存储结果矩阵。

  • 找出所得矩阵的迹并打印结果。

示例

让我们看看代码。

#include <iostream>
#include <bits/stdc++.h>
#include <regex>
using namespace std;
int traceOfRowAndColumnMajorMatrices(int m, int n) {
   int row_major[m][n], column_major[m][n], addition_result[m][n], count = 1;
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         row_major[i][j] = count;
         count += 1;
      }
   }
   count = 1;
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         column_major[j][i] = count;
         count += 1;
      }
   }
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         addition_result[j][i] = row_major[i][j] + column_major[i][j];
      }
   }
   int trace = 0;
   for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
         if (i == j) {
            trace += addition_result[i][j];
         }
      }
   }
   return trace;
}
int main() {
   int m = 3, n = 3;
   cout << traceOfRowAndColumnMajorMatrices(m, n) << endl;
   return 0;
}
输出结果

如果你执行上面的程序,那么你会得到下面的结果。

30

结论

如果您对本教程有任何疑问,请在评论部分提及。

猜你喜欢