'분류 전체보기'에 해당되는 글 76건

20070314_nol2ter_snail_array

2007. 3. 14. 18:05
#include <stdio.h>

int main(void)
{
	int x=0,y=0, i=0;
	int **snail_array;
	int snail=0, snail_number=0;

	/* input */
	printf("input snail_number : ");
	scanf("%d", &snail_number);

	/* create array */
	snail_array=(int **)malloc(sizeof(int *) * snail_number);
	for(i=0; i<snail_number; i++)
		snail_array[i]=(int *)malloc(sizeof(int) * snail_number);

	/* make snail_arrar */
	for(i=0; i<(snail_number+1)/2; i++)
	{
		for(x=i,y=i; y<snail_number-1-i; y++)
			snail_array[x][y]=snail++;

		for(x=i,y=snail_number-1-i; x<snail_number-1-i; x++)
			snail_array[x][y]=snail++;

		for(x=snail_number-1-i, y=snail_number-1-i; y>i; y--)
			snail_array[x][y]=snail++;

		for(x=snail_number-1-i, y=i; x>i; x--)
			snail_array[x][y]=snail++;
	}

	if(snail_number%2!=0)
		snail_array[(snail_number-1)/2][(snail_number-1)/2]=snail++;

	/* output */
	for(x=0; x<snail_number; x++)
	{
		for(y=0; y<snail_number; y++)
			printf("%d\t", snail_array[x][y]);
		printf("\n");
	}

	/* free */
	for(i=0; i<snail_number; i++)
		free(snail_array[i]);
	free(snail_array);

	return 0;
}


==

일단 생각했던 알고리즘으로 만들었다. 입력받는 snail_number 이 홀수일 경우 때문에 if 문 추가했다. ~.~;
메인 안에서 끝내는걸 했으니, 이젠 함수 사용해서 해보자!!

그나저나 오늘이 화이트데이라는데 사탕 줄 사람이 없으니 암울하군. 집에 가면서 까르푸 들려서 동생한테 줄 사탕 사야겠다. 더불어 학원 수업 같이 듣는 사람들것도;;

난 여자친구 언제 생기나;;
Posted by nol2ter

태그목록