C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++プログラムで同じ行列の行メジャーと列メジャーの順序を追加することによって形成された行列のトレースを検索します


このチュートリアルでは、行と列の主要な行列によって形成される行列のトレースを見つけるプログラムを作成します。

行列の順序が指定されているときに、行と列の主要な行列を形成する方法を見てみましょう。

注文 − 3 x 3

行メジャーマトリックス

1 2 3
4 5 6
7 8 9

列の主要なマトリックス

1 4 7
2 5 8
3 6 9

行と列の主要な行列があります。ここで、両方の行列を追加する必要があります。そして、結果のマトリックスのトレースは、私たちが探している結果です。

問題を解決するためのコードを書いてみましょう。問題の解決策を完了するには、次の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

結論

チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。


  1. C++でべき等行列をチェックするプログラム

    行列M[r][c]が与えられた場合、「r」は行数を示し、「c」はr=cが正方行列を形成するような列数を示します。与えられた正方行列がべき等行列であるかどうかを確認する必要があります かどうか。 べき等行列 行列「M」はべき等行列と呼ばれます 行列「M」にそれ自体を掛けたものだけが同じ行列「M」を返す場合、つまり M * M=M。 以下の例のように- 上記の行列はそれ自体で乗算され、同じ行列を返すと言えます。したがって、マトリックスはIデポテンツマトリックスです。 。 例 Input: m[3][3] = { {2, -2, -4},    {-1, 3,

  2. 行列の転置を見つけるためのC++プログラム

    行列は、行と列の形式で配置された数値の長方形の配列です。行列の転置は、元の行が現在の列である新しい行列であり、その逆も同様です。たとえば。 マトリックスは以下のとおりです- 1 2 3 4 5 6 7 8 9 上記の行列の転置は次のとおりです。 1 4 7 2 5 8 3 6 9 行列の転置を見つけるプログラムは次のとおりです- 例 #include<iostream< using namespace std; int main() {    int transpose[10][10], r=3, c=2, i, j;    int a