#include <iostream>
using namespace std;
// 오늘의 주제: 다차원 배열
int main()
{
int a[10] = { 1, 2, 3 };
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++)
{
cout << apartment2D[floor][room] << " ";
}
cout << endl;
}
// 주소 연산 이용
for (int floor = 0; floor < 2; floor++)
{
for (int room = 0; room < 5; room++)
{
cout << *(*(apartment2D + floor) + room) << " ";
}
cout << endl;
}
// 2차원 배열이 사용되는 대표적인 예
// 2D 로그라이크 맵
// 1이 벽, 0이 길
int map[5][5] =
{
{ 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0 },
{ 1, 1, 1, 1, 1 },
};
cout << endl << "맵 출력" << endl;
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 5; x++)
{
cout << map[y][x] << " ";
}
cout << endl;
}
return 0;
}