C语言中的身份矩阵程序

给定一个方阵M [r] [c],其中“ r”是一些行,而“ c”是列,使得r = c,我们必须检查“ M”是否为单位矩阵。

身份矩阵

单位矩阵也称为大小为nxn方阵的单位矩阵,其中对角元素将仅具有整数值1,非对角元素将仅具有整数值0

像下面给定的示例一样-

$$I1 = \ begin {bmatrix} 1 \ end {bmatrix},\\ I2 = \ begin {bmatrix} 1&0 \\ 0&1 \ end {bmatrix},\\ I3 = \ begin {bmatrix} 1&0 &0 \\ 0&1&0 \\ 0&0&1 \ end {bmatrix},\\ In = \ begin {bmatrix}
1&0&0&...&0 \\
0&1&0&...&0 \\
0&0 &1&...&0 \\
。&。&。&...&。\\
。&。&。&...&。\\
0&0&0&...&1 \\
\ end {bmatrix} $$

示例

Input: m[3][3] = { {1, 0, 0},
   {0, 1, 0},
   {0, 0, 1}}
Output: yes
Input: m[3][3] == { {3, 0, 1},
   {6, 2, 0},
   {7, 5, 3} }
Output: no

算法

Start
Step 1 -> declare function for finding identity matrix
   int identity(int num)
      declare int row, col
      Loop For row = 0 and row < num and row++
         Loop For col = 0 and col < num and col++
            IF (row = col)
               Print 1
            Else
               Print 0
      End
   End
Step 2 -> In main()   Declare int size = 4
   Call identity(size)
Stop

示例

#include<stdio.h>
int identity(int num){
   int row, col;
   for (row = 0; row < num; row++){
      for (col = 0; col < num; col++){
         if (row == col)
            printf("%d ", 1);
         else
            printf("%d ", 0);
      }
      printf("\n");
   }
   return 0;
}
int main(){
   int size = 4;
   identity(size);
   return 0;
}

输出结果

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1