#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;
}
헤에
재귀는 사랑입니다 ㅎㅎ