Cプログラムで指定された配列から下三角行列パターンを印刷します。
n x nの行列が与えられた場合、タスクはnxnの行列を下三角パターンで印刷することです。
下三角行列は、主対角要素と残りの要素をゼロとして含む、主対角の下の要素を持つ行列です。
ダイアグラムを使ってこれを理解しましょう-
緑の要素の上は主対角線の下の要素であり、赤の要素は主対角線より上の要素であり、ゼロとして設定されています。
例
Input: matrix[3][3] = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } }
Output:
1 0 0
4 5 0
7 8 9 アルゴリズム
int lower_mat(int mat[n][m]) START STEP 1: DECLARE I AND j STEP 2 : LOOP FOR i = 0 AND i < n AND i++ LOOP FOR j = 0 AND j < m AND j++ IF i < j THEN, PRINT "0\t" ELSE PRINT mat[i][j] END IF END FOR PRINT newline END FOR STOP
例
#include <stdio.h>
#define n 3
#define m 3
int lower_mat(int mat[n][m]){
int i, j;
for ( i = 0; i < n; i++){
for ( j = 0; j < m; j++){
if( i < j )
printf("0\t");
else
printf("%d\t", mat[i][j]);
}
printf("\n");
}
}
int main(int argc, char const *argv[]){
int mat[n][m] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
lower_mat(mat);
return 0;
} 出力
上記のプログラムを実行すると、次の出力が生成されます-
1 0 0 4 5 0 7 8 9
-
Cプログラムの指定された行列のゼロの数でソートされた列のインデックスを出力します。
サイズNxMの配列が与えられ、N行数とM列数であり、タスクは、任意の列に存在するゼロの数に基づいてソート操作を実行した後、対応する行列のすべての列のゼロの数を出力することです。 たとえば、1番目の st 列には1つのゼロと2つのndが含まれます 列にゼロと3番目のrdが含まれていません 列に2つのゼロが含まれている場合、結果は− 312になります。 例 Input: 0 0 0 1 1 1 1 0 1 Output: 1 3 2 説明 注 −マトリックスはインデックス1から開始したと見なされます。 例
-
行列がC++で下三角行列であるかどうかをチェックするプログラム
正方行列M[r][c]が与えられます。ここで、「r」は行の数であり、「c」はr =cのような列であるため、「M」が下三角行列であるかどうかを確認する必要があります。 下三角行列- 下三角行列は、主対角線の下の要素(主対角線を含む)がゼロではなく、上の要素がゼロのみである行列です。 以下の例のように- 上の図で、赤で強調表示されている要素は、主対角線の上の要素であり、ゼロであり、残りの要素はゼロではありません。 例 Input: m[3][3] = { {1, 0, 0}, {2, 3, 0}, {4, 5, 6}} Output: