조건을 제어하는 방식과 1차원 배열을 가지고 2차원 배열의 효과를 볼 수 있는 방식에 대한 내용이 작성되어 있다. 아마도 과제로 낸 내용이 2차원 배열을 이용한 내용이었나 보다.
반복문에 조건을 설정해 "지정된 상태 시 밖으로 나가라"라는 형태로 구현을 할 수 있다.
for(int i = 0 ; i < 5 ; i ++)
{
if (j < 0)
{
break;
}
}
위 코드에서는 j의 상태에 따라 for문을 벗어날 수 있다.바둑판 위의 그림은 2차원 좌표로 생각해라.
가로 값은 x를 for 문으로 돌리고 세로값은 y를 for 문으로 돌리면 된다.
0,0 0,1 0,2 0,3 | 0 1 2 3 | (4x0)+(0,1,2,3)
1,0 1,1 1,2 1,3 | 4 5 6 7 | (4x1)+(0,1,2,3)
2,0 2,1 2,2 2,3 | 8 9 10 11 | (4x2)+(0,1,2,3)
3,0 3,1 3,2 3,3 | 12 13 14 15 | (4x3)+(0,1,2,3)
이를 1차원 배열을 이용하면 다음과 같이 된다.
for(int y = 0 ; y < height ; y++)
{
for(int x = 0 ; x < width ; x++)
{
int arrayIndex = y * height + x;
}
}
height와 width로 높이와 너비를 지정하고 arrayIndex로 1차원 배열의 위치를 설정할 수 있다. 배열에 사용되는 index의 경우 -1로 초기화해 사용한다.
초기화 값이 지정되어 있지 않으면 0을 사용하기에 사용되는 0과 구분이 안 되는 경우가 발생한다.
이처럼 반복문 탈출과 2차원 배열 활용하기에 대한 내용이 작성됐다.
바둑판 모양의 2차원 배열을 이용한 신경쇠약과 같은 게임이 과제로 나오지 않았나 싶다.
댓글 없음:
댓글 쓰기