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