📊Beginner

Compute Sum of Diagonals of Matrix

Sum diagonal elements

A square matrix has two diagonals: primary diagonal (top-left to bottom-right) and secondary diagonal (top-right to bottom-left).

📊 Diagonal Elements (3×3 Matrix)

123456789

Primary: 1+5+9 | Secondary: 3+5+7

C Program to Find Diagonal Sum

matrix_diagonal_sum.c
C
1#include <stdio.h>
2
3int main() {
4 int matrix[3][3] = {
5 {1, 2, 3},
6 {4, 5, 6},
7 {7, 8, 9}
8 };
9 int n = 3;
10 int primarySum = 0, secondarySum = 0;
11
12 for (int i = 0; i < n; i++) {
13 primarySum += matrix[i][i]; // Primary: [0][0], [1][1], [2][2]
14 secondarySum += matrix[i][n - 1 - i]; // Secondary: [0][2], [1][1], [2][0]
15 }
16
17 printf("Matrix:\n");
18 for (int i = 0; i < n; i++) {
19 for (int j = 0; j < n; j++) {
20 printf("%d ", matrix[i][j]);
21 }
22 printf("\n");
23 }
24
25 printf("\nPrimary diagonal sum: %d\n", primarySum);
26 printf("Secondary diagonal sum: %d\n", secondarySum);
27 printf("Total diagonal sum: %d\n", primarySum + secondarySum - matrix[n/2][n/2]);
28
29 return 0;
30}
Output

Matrix:

1 2 3

4 5 6

7 8 9

 

Primary diagonal sum: 15

Secondary diagonal sum: 15

Total diagonal sum: 25

📖 Code Explanation

CodeExplanation
matrix[i][i]Primary diagonal: row index = column index
matrix[i][n-1-i]Secondary diagonal: column = n - 1 - row
- matrix[n/2][n/2]Subtract center element (counted twice)

🎯 Key Takeaways

Primary: matrix[i][i]
Secondary: matrix[i][n-1-i]
Only works for square matrices
Center element is on both diagonals