#include <stdio.h>
#define COLS 5
void printMatrixBoundaries(int matrix[][COLS], int rows, int cols) {
for (int j = 0; j < cols; j++) {
printf("%d ", matrix[0][j]);
}
for (int j = 0; j < cols; j++) {
if (j == cols - 1) {
for (int i = 1; i < rows; i++) {
printf("%d ", matrix[i][j]);
}
}
}
for (int j = cols - 2; j > -1; j--) {
printf("%d ", matrix[rows - 1][j]);
}
for (int i = rows - 2; i > 0; i--) {
printf("%d ", matrix[i][0]);
}
}
int main() {
int matrix[][COLS] = { { 1, 2, 3, 4, 5},
{ 6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20} };
int rows = sizeof matrix / sizeof matrix[0];
int cols = sizeof matrix[0] / sizeof(int);
printMatrixBoundaries(matrix, rows, cols);
return 0;
}
/*
run:
1 2 3 4 5 10 15 20 19 18 17 16 11 6
*/