w3resource

C Exercises: Check whether a given matrix is an identity matrix

C Array: Exercise-31 with Solution

Write a program in C to check whether a given matrix is an identity matrix.

The task is to write a C program that accepts two matrices and checks if they are equal. The program prompts the user to input the dimensions and elements of both matrices, then compares corresponding elements. If all elements are identical, the program will confirm that the matrices are equal.

Visual Presentation:

C Exercises: Check whether a given matrix is an identity matrix

Sample Solution:

C Code:

#include <stdio.h>

// In a square matrix, if all the main diagonal elements are 1's and
// all the remaining elements are 0's, it is called an Identity Matrix.
int main() {
    int arr1[10][10];
    int r1, c1;
    int i, j, yn = 1;
    // Display the purpose of the program
    printf("\n\n Check whether a given matrix is an identity matrix :\n");
    printf("-----------------------------------------------------------\n");
    // Input the number of Rows for the matrix
    printf("Input number of Rows for the matrix :");
    scanf("%d", &r1);
    // Input the number of Columns for the matrix
    printf("Input number of Columns for the matrix :");
    scanf("%d", &c1);
	
    // Input elements into the matrix
    printf("Input elements in the matrix :\n");
    for(i = 0; i < r1; i++) {
        for(j = 0; j < c1; j++) {
            printf("element - [%d],[%d] : ", i, j);
            scanf("%d", &arr1[i][j]);
        }
    }
    // Display the matrix
    printf("The matrix is :\n");
    for(i = 0; i < r1; i++) {
        for(j = 0; j < c1 ;j++) {
            printf("% 4d", arr1[i][j]);
        }
        printf("\n");
    }
    // Check whether the matrix is an identity matrix or not
    for(i = 0; i < r1; i++) {
        for(j = 0; j < c1; j++) {
            if ((i == j && arr1[i][j] != 1) || (i != j && arr1[i][j] != 0)) {
                yn = 0;
                break;
            }
        }
        if (yn == 0) {
            break;
        }
    }
	// Display the result
    if(yn == 1) {
        printf(" The matrix is an identity matrix.\n\n");
    } else {
        printf(" The matrix is not an identity matrix.\n\n");
    }
    return 0;
}

Sample Output:

 Check whether a given matrix is an identity matrix :                                                         
 -----------------------------------------------------------                                                  
Input number of Rows for the matrix :3                                                                        
Input number of Columns for the matrix :3                                                                     
Input elements in the first matrix :                                                                          
element - [0],[0] : 1                                                                                         
element - [0],[1] : 0                                                                                         
element - [0],[2] : 0                                                                                         
element - [1],[0] : 0                                                                                         
element - [1],[1] : 1                                                                                         
element - [1],[2] : 0                                                                                         
element - [2],[0] : 0                                                                                         
element - [2],[1] : 0                                                                                         
element - [2],[2] : 1                                                                                         
The matrix is :                                                                                               
   1   0   0                                                                                                  
   0   1   0                                                                                                  
   0   0   1                                                                                                  
The matrix is an identity matrix.
Check whether a given matrix is an identity matrix :
-----------------------------------------------------------
Input number of Rows for the matrix :3
Input number of Columns for the matrix :3
Input elements in the matrix :
element - [0],[0] : 0
element - [0],[1] : 0
element - [0],[2] : 1
element - [1],[0] : 0
element - [1],[1] : 1
element - [1],[2] : 0
element - [2],[0] : 1
element - [2],[1] : 0
element - [2],[2] : 0
The matrix is :
   0   0   1
   0   1   0
   1   0   0
 The matrix is not an identity matrix.

Flowchart :

Flowchart: Check whether a given matrix is an identity matrix

C Programming Code Editor:

Previous: Write a program in C to accept two matrices and check whether they are equal.
Next: Write a program in C to find a pair with given sum in the array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/c-programming-exercises/array/c-array-exercise-31.php