#include <stdio.h>
#define COLS 5
void AppendMatrixBoundariesToArray(int matrix[][COLS], int rows, int cols, int arr[]) {
int arr_index = 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) {
arr[arr_index++] = matrix[i][j];
}
}
}
}
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);
int arr[14] = { 0 };
AppendMatrixBoundariesToArray(matrix, rows, cols, arr);
for (int i = 0; i < 14; i++) {
printf("%d ", arr[i]);
}
return 0;
}
/*
run:
1 2 3 4 5 6 10 11 15 16 17 18 19 20
*/