반응형
// 문제2
void Print2(int(*arr)[10], int num)
{
	for (int i = 0; i < num; i++)
	{
		for (int j = 0; j < num; j++)
		{
			printf("%2d ", arr[i][j]);
		}
		printf("\n");
	}
}
void SnailSort(int(*arr)[10])
{
	int num = 0;
	int count = 1;
	int side = 0;
	int colR = 0;
	int rowR = 0;
	int colL = 0;
	int rowL = 0;
	printf("정수 입력 : ");
	scanf("%d", &num);

	while (side < num)
	{
		if (side % 2 == 0)
		{
			for (int i = rowR; i < num- rowR; i++)
			{
				arr[rowR][i] = count++;
			}
			colR++;
			side++;

			for (int i = colR; i < num- colR +1; i++)
			{
				arr[i][num - colR] = count++;
			}
			rowR++;

		}
		else if (side % 2 != 0)
		{
			rowL++;
			for (int i = num - rowL-1; i >= rowL -1; i--)
			{
				arr[num - rowL][i] = count++;
			}
			colL++;
			side++;
			for (int i = num - colL-1; i >= colL; i--)
			{
				arr[i][colL -1] = count++;
			}

		}

	}

	Print2(arr, num);
}
void Practice2()
{
	int arr[10][10] = { 0 };

	SnailSort(arr);
}

 

반응형

 

반응형

'연습문제' 카테고리의 다른 글

C 복소수 구하기  (0) 2023.05.24
C언어 주사위 굴리기  (0) 2023.05.22
C언어 90도씩 회전하기  (0) 2023.05.22
C언어 tictactoe  (0) 2023.05.19
C 포인터2 문제  (0) 2023.05.18

+ Recent posts