#include <iostream>
#define COLS 5
int sumDiagonals(int matrix[][COLS], int rows, int cols) {
int sumDiagonalLeft = 0, sumDiagonalRigth = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < COLS; j++) {
if (i == j) {
sumDiagonalLeft += matrix[i][j];
}
if ((i + j) == rows - 1) {
sumDiagonalRigth += matrix[i][j];
}
}
}
std::cout << "sumDiagonalLeft = " << sumDiagonalLeft <<
" \nsumDiagonalRigth = " << sumDiagonalRigth << "\n";
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);
std::cout << sumDiagonals(matrix, rows, cols);
}
/*
run:
sumDiagonalLeft = 37
sumDiagonalRigth = 32
69
*/