#include <stdio.h>
#define COLS 5
int sumDiagonals(int matrix[][COLS], int rows, int cols) {
int sumDiagonalLeft = 0, sumDiagonalRigth = 0;
for (int i = 0; i < rows; i++) {
sumDiagonalLeft += matrix[i][i];
sumDiagonalRigth += matrix[i][cols - i - 1];
}
printf("sumDiagonalLeft = %d\nsumDiagonalRigth = %d\n", sumDiagonalLeft, sumDiagonalRigth);
return sumDiagonalLeft + sumDiagonalRigth;
}
int main()
{
int matrix[][COLS] = { { 1, 2, 3, 4, 0 },
{ 5, 6, 100, 8, 1 },
{ 2, 100, 8, 100, 3 },
{ 1, 7, 100, 9, 6 },
{ 9, 10, 11, 12, 13 } };
// sumDiagonalLeft = (1 + 6 + 8 + 9 + 13) = 37
// sumDiagonalRigth = (0 + 8 + 8 + 7 + 9) = 32
// 37 + 32 = 69
int rows = sizeof matrix / sizeof matrix[0];
int cols = sizeof matrix[0] / sizeof(int);
printf("%d", sumDiagonals(matrix, rows, cols));
return 0;
}
/*
run:
sumDiagonalLeft = 37
sumDiagonalRigth = 32
69
*/