#include <iostream>
#define COLS 4
int getBoundarySum(int matrix[][COLS], int rows, int cols) {
int sum = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (i == 0 || j == 0 || i == rows - 1 || j == cols - 1) {
sum += matrix[i][j];
}
}
}
return sum;
}
int main() {
int matrix[][COLS] = { {1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12} };
// 1 + 2 + 3 + 4 + 8 + 12 + 11 + 10 + 9 + 5 + 65
int rows = sizeof matrix / sizeof matrix[0];
int cols = sizeof matrix[0] / sizeof(int);
std::cout << getBoundarySum(matrix, rows, cols);
}
/*
run:
65
*/