Howdy readers, today you will learn how to write a program to find the sum of opposite diagonal elements of a matrix using C Programming language.

The minor or opposite diagonal elements are the ones that occur from top right of matrix to bottom left corner. It is also known as secondary diagonal.
A = 4 8 2 7 5 1 2 9 5
We will find the sum of opposite diagonal elements of a matrix using a for loop statement.
So, without any delay, let’s begin this tutorial.
C Program to Find Sum of Opposite Diagonal Elements of a Matrix
C Program
// C Program to Find Sum of Opposite Diagonal Elements of a Matrix #include <stdio.h> int main(){ int i, j, row, col, sum = 0; int arr[25][25]; // Asking for input printf("Enter the no. of rows: "); scanf("%d", &row); printf("Enter the no. of columns: "); scanf("%d", &col); // Enter the elements printf("Enter the elements of the matrix: \n"); for (i = 0; i < row; i++){ for (j = 0; j < col; j++){ scanf("%d", &arr[i][j]); } } // Calculating sum of opposite diagonal elements for (i = 0; i < row; i++){ sum = sum + arr[i][row - i - 1]; } // Displaying output printf("Sum of Opposite Diagonal Elements of a Matrix: %d", sum); return 0; }
Output
Enter the no. of rows: 3 Enter the no. of columns: 3 Enter the elements of the matrix: 2 4 6 1 3 5 7 5 9 Sum of Opposite Diagonal Elements of a Matrix: 16

Explanation
int i, j, row, col, sum = 0; int arr[25][25];
In this program, we have declared five int data type variables and one array named arr.
// Asking for input printf("Enter the no. of rows: "); scanf("%d", &row); printf("Enter the no. of columns: "); scanf("%d", &col); // Enter the elements printf("Enter the elements of the matrix: \n"); for (i = 0; i < row; i++){ for (j = 0; j < col; j++){ scanf("%d", &arr[i][j]); } }
Then, the user is asked to enter the no. of rows and columns of the matrix. After that, the user has to enter each element of the matrix.
// Calculating sum of opposite diagonal elements for (i = 0; i < row; i++){ sum = sum + arr[i][row - i - 1]; }
Suppose, we have a matrix A = {(2, 4, 6), (1, 3, 5), (7, 5, 9)}, then:
i < row | sum + arr[i][row – i – 1] = sum |
---|---|
0 < 3 | 0 + a[0][3-0-1] = 0 + a[0][2] = 0 + 6 = 6 |
1 < 3 | 6 + a[1][3-1-1] = 6 + a[1][1] = 6 + 3 = 9 |
2 < 3 | 9 + a[2][3-2-1] = 9 + a[2][0] = 9 + 7 = 16 |
loop terminates | – |
// Displaying output printf("Sum of Opposite Diagonal Elements of a Matrix: %d", sum);
Finally, the sum of opposite diagonal elements of the matrix is printed on the screen using printf() function.
C Program to Find Sum of Opposite Diagonals Elements
C Program
// C Program to Find Sum of Opposite Diagonal Elements of a Matrix #include <stdio.h> int main(){ int i, j, row, col, sum = 0; int arr[25][25]; // Asking for input printf("Enter the no. of rows: "); scanf("%d", &row); printf("Enter the no. of columns: "); scanf("%d", &col); // Enter the elements printf("Enter the elements of the matrix: \n"); for (i = 0; i < row; i++){ for (j = 0; j < col; j++){ scanf("%d", &arr[i][j]); } } // Calculating sum of opposite diagonal elements for (i = 0; i < row; i++){ for (j = 0; j < col; j++){ if (i + j == (row + 1) - 2) sum = sum + arr[i][j]; } } // Displaying output printf("Sum of Opposite Diagonal Elements of a Matrix: %d", sum); return 0; }
Output
Enter the no. of rows: 3 Enter the no. of columns: 3 Enter the elements of the matrix: 8 6 4 2 5 3 1 8 9 Sum of Opposite Diagonal Elements of a Matrix: 10

Conclusion
I hope after reading this tutorial, you will understand how to write a program to find the sum of opposite diagonal elements of a matrix using C Programming language.
If you face any difficulty while understanding this tutorial, then let us know in the comment section. We will be glad to solve your doubts.