달팽이 배열 질문입니다.
보담
질문 제목 : 달팽이배열달팽이배열질문 내용 :
#include stdio.h
#include stdlib.h
int main()
{
int** arr;//배열 생성
int number = 1;//입력 숫자
int flag = 1;
int i, j;
int arr_x = 0, arr_y = -1;
int x, y;//x축 크기, y축 크기
int num;
//배열 메모리 할당
printf(배열 크기 입력 : );
scanf(%d, &num);
arr = (int**)malloc(sizeof(int*)*num);
for(i=0; inum; i++)
*(arr+i) = (int*)malloc(sizeof(int)*num);x = num;
y = num;
//배열 입력
for(i=0; iy; i++){
for(j=0; jx; j++){
arr_y += flag;
arr[arr_x][arr_y] = number++;
}
x--;
if(x != 0){
for(j=0; jx; j++){
arr_x += flag;
arr[arr_x][arr_y] = number++;
}
}
flag *= -1;
}
//달팽이 배열 출력
for(i=0; inum; i++){
for(j=0; jnum; j++)
printf(%4d, arr[i][j]);
printf(\n);
}
//메모리 해제
for(i=0; inum; i++)
free(*(arr+i));
free(*arr);
return 0;
}이렇게 코드를 짰는데
잘짯는지는 모르겟네요
이것보다 더 간결하게 하는 방법이 있나요?