Write a C program to read elements in a matrix and check whether matrix is an Identity matrix or not. C program for finding Identity matrix. Logic to check identity matrix in C programming.

**Example**

**Input**

Input elements in matrix: 1 0 0 0 1 0 0 0 1

**Output**

It is an Identity matrix

## Required knowledge

Basic C programming, For loop, Array

### What is Identity Matrix?

Identity matrix is a special square matrix whose main diagonal elements is equal to 1 and other elements are 0. Identity matrix is also known as unit matrix.

For checking a matrix **A** we need to ensure that if *i = j* then **A**_{ij} must be equal to 1. Else **A**_{ij} must be equal to 0. (Where 1 ≤ i ≤ m and 1 ≤ j ≤ n)

## Program to check identity matrix

```
/**
* C program to check whether a matrix is Identity matrix or not
*/
#include <stdio.h>
#define SIZE 3 // Matrix size
int main()
{
int A[SIZE][SIZE];
int row, col, isIdentity;
/* Input elements in matrix from user */
printf("Enter elements in matrix of size 3x3: \n");
for(row=0; row<SIZE; row++)
{
for(col=0; col<SIZE; col++)
{
scanf("%d", &A[row][col]);
}
}
/* Check whether it is Identity matrix or not */
isIdentity = 1;
for(row=0; row<SIZE; row++)
{
for(col=0; col<SIZE; col++)
{
if(row==col && A[row][col]!=1)
{
/* If elements of main diagonal is not equal to 1 */
isIdentity = 0;
}
else if(row!=col && A[row][col]!=0)
{
/* If other elements than main diagonal is not equal to 0 */
isIdentity = 0;
}
}
}
/* If it is an Identity matrix */
if(isIdentity == 1)
{
printf("\nThe given matrix is an Identity Matrix.\n");
/*
* Print the Identity matrix
*/
for(row=0; row<SIZE; row++)
{
for(col=0; col<SIZE; col++)
{
printf("%d ", A[row][col]);
}
printf("\n");
}
}
else
{
printf("The given matrix is not Identity Matrix");
}
return 0;
}
```

Output

Enter elements in matrix of size 3x3: 1 0 0 0 1 0 0 0 1 The given matrix is an Identity Matrix. 1 0 0 0 1 0 0 0 1

Happy coding 😉