#include <stdio.h>

#include <stdlib.h>

#define H 7

#define W 7


int dalpaeng(int **arr, int h, int w, int curH, int curW, int num) {

int i, j;


for (i = curH, j = curW; j < curW + w; j++) {


arr[i][j] = num++;

}


for (i++, j--; i < curH + h; i++) {

arr[i][j] = num++;

}


for (i--, j--; j >= curW; j--) {

arr[i][j] = num++;

}


for (i--, j++; i > curH; i--) {

arr[i][j] = num++;

}


if (h > 2 && w > 2)

dalpaeng(arr, h - 2, w - 2, curH + 1, curW + 1, num);


return 0;

}


int main(void) {

int ** arr;


int i, j;


arr = (int**)malloc(sizeof(int*)*H);


for (i = 0; i < H; i++) {

*(arr + i) = (int*)malloc(sizeof(int)*W);

}


dalpaeng(arr, H, W, 0, 0, 1);


for (i = 0; i < H; i++) {

for (j = 0; j < W; j++) {

printf("M", arr[i][j]);

}

printf(" ");

}


free(arr);


return 0;

}



헤에