2 次元配列または行列の利用は、いくつかの場合に非常に有利です。
行列の行と列は数値を保持するために使用されます。2D を定義できます。
多次元配列は、C で行列を表すために使用されます。この記事では、その実装方法について説明します
C を使用して、指定された正方行列の対角和を計算します。
行列には、主対角と副対角という 2 つの対角があります (場合によっては
主対角線と副対角線と呼ばれます)。主対角線は左上から始まります。
隅 (インデックス [0, 0]) から右下隅 (インデックス [n-1, n-1]) まで。n は順序です。
正方行列。主対角線は右上隅 (インデックス [n-1, 0]) から始まり、左下隅で終わります。
コーナー (インデックス [0, n-1]). 要素の合計を求めるアルゴリズムを見てみましょう。
これら 2 つの対角線。
行列の対角の和
の中国語訳は次のとおりです:
行列の対角の和
$$\begin{bmatrix}
8 & 5& 3\改行
6 & 7& 1\改行
2&4&9\
\end{bmatrix},$$
リーリー
前の例では、1 つの 3 x 3 行列が使用され、対角線をスキャンしました。
明確に理解するために、アルゴリズムと実装を見てみましょう。
ビュー。###
###アルゴリズム###
行列 M を入力として読み取ります
n行n列のMを考えてみましょう-
合計メジャー := 0-
合計_マイナー := 0-
i の範囲が 0 から n-1 の場合、- を実行します。
- j の範囲が 0 から n - 1 の場合、次のようにします。
i と j が同じ場合、
-
sum_major := sum_major M[ i ][ j ]-
if (i j) が (N - 1) と同じである場合、
-
sum_minor := sum_minor M[ i ][ j ]-
-
終了
-
終了
リターンサム-
###例###
リーリー
###出力###
リーリー
###結論###
- この記事では、与えられた正方行列の対角和を計算する方法について説明しました。
主対角線は左上隅から右下隅まで延び、副対角線は左下隅から右上隅まで延びます。
対角線は右上隅から左下隅まで始まります。これらの合計を求めるには
対角要素の場合、すべての要素をループします。行と列の両方のインデックス値が値である場合、
同様に、2 つのインデックスの合計が次の場合に主対角要素を表します。
行列の次数 n-1 と同じように、下対角に追加されます。
プロシージャは 2 つのネストされたループを使用し、プロシージャ内に存在するすべての要素を調べます。
2次元配列。したがって、2 つの対角線の合計を計算するには O(n
2
) 時間がかかります
与えられた行列。
以上が行列の対角の合計を計算する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。