Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình cho Ma trận nhận dạng trong C

Cho một ma trận vuông M [r] [c] trong đó ‘r’ là một số hàng và ‘c’ là các cột sao cho r =c, chúng ta phải kiểm tra xem ‘M’ có phải là ma trận nhận dạng hay không.

Ma trận nhận dạng

Ma trận nhận dạng còn được gọi là ma trận đơn vị kích thước nxn ma trận vuông trong đó các phần tử đường chéo sẽ chỉ có giá trị nguyên là một và các phần tử không phải đường chéo sẽ chỉ có giá trị nguyên là 0

Giống như trong Ví dụ cho sẵn bên dưới -

$$ 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} $$

Ví dụ

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

Thuật toán

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

Ví dụ

#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;
}

Đầu ra

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