Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรมสำหรับ Identity Matrix ใน C


ให้เมทริกซ์สี่เหลี่ยมจัตุรัส M[r][c] โดยที่ 'r' คือจำนวนแถวบางแถวและ 'c' เป็นคอลัมน์ที่ r =c เราต้องตรวจสอบว่า 'M' เป็นเมทริกซ์เอกลักษณ์หรือไม่

เมทริกซ์เอกลักษณ์

เมทริกซ์เอกลักษณ์เรียกอีกอย่างว่าเมทริกซ์หน่วยของขนาดเมทริกซ์สี่เหลี่ยมจัตุรัส nxn โดยที่องค์ประกอบในแนวทแยงจะมีค่าจำนวนเต็มเพียงหนึ่งองค์ประกอบและองค์ประกอบที่ไม่ใช่แนวทแยงจะมีค่าจำนวนเต็มเป็น 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