# C Program to check if two given matrices are identical

The below program checks if two square matrices of size 4*4 are identical or not.For any two matrix to be equal, number of rows and columns in both the matrix should be equal and the corresponding elements should also be equal.

## Recommended: Please solve it on “PRACTICE” first, before moving on to the solution.

```#include <stdio.h>
#define N 4

// This function returns 1 if A[][] and B[][] are identical
// otherwise returns 0
int areSame(int A[][N], int B[][N])
{
int i, j;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
if (A[i][j] != B[i][j])
return 0;
return 1;
}

int main()
{
int A[N][N] = { {1, 1, 1, 1},
{2, 2, 2, 2},
{3, 3, 3, 3},
{4, 4, 4, 4}};

int B[N][N] = { {1, 1, 1, 1},
{2, 2, 2, 2},
{3, 3, 3, 3},
{4, 4, 4, 4}};

if (areSame(A, B))
printf("Matrices are identical");
else
printf("Matrices are not identical");
return 0;
}
```

Output:

`Matrices are identical`

The program can be extended for rectangular matrices. The following post can be useful for extending this program.

How to pass a 2D array as a parameter in C?

The time complexity of the above program is O(n2).