1. 2차원 배열
[1][1][5][2][2] << 2층
[4][2][3][4][1] << 1층
다음과 같은 아파트같은 배열을 만드려고 한다.
int main()
{
int first[5] = {4, 2, 3, 4, 1};
int second[5] = {1, 1, 5, 2, 2};
int apartment2D[2][5] = {{4, 2, 3, 4, 1}, {1, 1, 5, 2, 2}};
for (int floor = 0; floor < 2; floor++)
{
for (int room = 0; room < 5; room++)
{
int num = apartment2D[floor][room];
cout << num << " ";
}
cout << endl;
}
return 0;
}
반복문은 배열의 요소를 하나씩 검사해서 출력하게 한다.
각 floor 마다의 room 요소들의 값을 하나씩 출력하고 floor를 하나 올려 2층에서 동일 작업을 반복한다.
2. 단일 배열로 구현
int apartment1D[10] = {4, 2, 3, 4, 1, 1, 1, 5, 2, 2};
for (int floor = 0; floor < 2; floor++)
{
for (int room = 0; room < 5; room++)
{
int index = (floor * 5) + room;
int num = apartment1D[index];
cout << num << " ";
}
cout << endl;
}
이 두 가지 배열은 동일한 결과를 출력한다.
3. 응용
int map[5][5] =
{
{1,1,1,1,1},
{1,0,0,1,1},
{0,0,0,0,1},
{1,0,0,0,0},
{1,1,1,1,1}
};
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 5; x++)
{
int info = map[y][x];
cout << info;
}
}
위와 같은 코드를 사용하여 2차원 맵을 표현할 수 있다.
'기초 C++ 스터디' 카테고리의 다른 글
번외) 파일 분할 관리 (0) | 2023.05.25 |
---|---|
4-11. 포인터 최종 정리 (0) | 2023.05.23 |
4-9. 멀티 포인터 (0) | 2023.05.23 |
4-7. 포인터 vs 배열 (0) | 2023.05.22 |
4-6. 배열 (0) | 2023.05.22 |