사람들마다 어떻게 달팽이관을 만들까요?
7x7 크기의 int 형 배열에
0,0 에서 0,1 로 움직여서 즉 -> 이쪽방향으로 움직여서 빙글빙글 숫자를 순서대로 넣는 프로그램을
작성하시면 어떤 결과가 나올지 궁금해지는군요
예전 베이직때 해보고 안해봤는데 지금 해보려니까 무지 힘드네요 ㅎㅎ
머리가 썩었나봐여 ㅡ_ㅡ;
다들 한번 해보세요? 추후 소스 공개해보죠? ㅎㅎ
아래는 제가 해본 소스입니다. 총 5개의 반복문을 사용했구요
당부하는말은 절대 제소스 먼저 보시구 작업하지 마세요~
책도 보지 말고 머리로만 함 해보세요~~
보지마셈 ㅡ_ㅡ; 절대르~
보지말구 해보세용~~
|
int maxx = 6;
int maxy = 6;
int minx = 0;
int miny = 0;
int x = 0;
int y = 0;
int count = 0;
while(count < 49)
{
// 최초 0,0 으로 시작하여 y값이 y의 max까지 증가하며 배열에 넣는다.
// y값이 y의 max값과 같으면 y는 증가를 멈춘다.
// 이후 x를 증가하며 x의 max까지 증가하며 배열에 넣는다.
// x값이 x의 max값과 같으면 x는 증가를 멈춘다.
// 이후 y를 감소하며 y의 min까지 감소하며 배열에 넣는다.
for(int i = minx; i <= maxx; i++)
{
x = i;
count++;
s[y][x] = count;
} /* 배열의 x,y 는 꺼구로다 */
miny++;
for(int j = miny; j <= maxy; j++)
{
y = j;
count++;
s[y][x] = count;
}
maxx--;
x--;
for(int k = maxx; k >= minx; k--)
{
x = k;
count++;
s[y][x] = count;
}
maxy--;
for(int l = maxy; l >= miny; l--)
{
y = l;
count++;
s[y][x] = count;
}
minx++;
x++;
}