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

Cプログラムで指定された配列から下三角行列パターンを印刷します。


n x nの行列が与えられた場合、タスクはnxnの行列を下三角パターンで印刷することです。

下三角行列は、主対角要素と残りの要素をゼロとして含む、主対角の下の要素を持つ行列です。

ダイアグラムを使ってこれを理解しましょう-

Cプログラムで指定された配列から下三角行列パターンを印刷します。

緑の要素の上は主対角線の下の要素であり、赤の要素は主対角線より上の要素であり、ゼロとして設定されています。

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

  1. 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から開始したと見なされます。 例

  2. 行列がC++で下三角行列であるかどうかをチェックするプログラム

    正方行列M[r][c]が与えられます。ここで、「r」は行の数であり、「c」はr =cのような列であるため、「M」が下三角行列であるかどうかを確認する必要があります。 下三角行列- 下三角行列は、主対角線の下の要素(主対角線を含む)がゼロではなく、上の要素がゼロのみである行列です。 以下の例のように- 上の図で、赤で強調表示されている要素は、主対角線の上の要素であり、ゼロであり、残りの要素はゼロではありません。 例 Input: m[3][3] = { {1, 0, 0},    {2, 3, 0},    {4, 5, 6}} Output: