📊⚡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>23int 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
| Code | Explanation |
|---|---|
| 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
Related Examples
Want to Learn More?
Explore our comprehensive tutorials for in-depth explanations of C programming concepts.
Browse Tutorials