3차원 배열

00·2024년 12월 21일

C#

목록 보기
45/149

using System;

/
3차원 배열:
깊이, 행, 열을 가지는 데이터 구조로, 큐브 형태로 생각
/

// 3차원 배열을 선언하고 초기화한 후, 배열의 요소를 출력함
namespace _3DArray
{
class MainApp
{
static void Main(string[] args)
{
int[,,] array = new int[4, 3, 2] // 4개의 깊이, 3개의 행, 2개의 열을 가진 3차원 배열 array를 선언
// 총 4 x 3 x 2 = 24개의 정수형 원소를 저장할 수 있는 배열
// C#에서 다차원 배열은 연속된 메모리 공간에 저장됩니다.
// 즉, 3차원 배열 array는 24개의 정수형 요소를 '연속된 메모리 공간'에 저장하고,
// array[i, j, k]와 같은 '인덱스를 사용'하여 각 요소에 접근합니다.
//
// 4개의 깊이(층)에 각각 2차원 배열이 할당되어 3차원 배열을 구성합니다.
// 각 깊이에 해당하는 2차원 배열은 3개의 행과 2개의 열을 가지고 있습니다.
{
{ {1, 2}, {3, 4}, {5, 6} }, // 깊이 0인 2차원 배열,
// 2차원 배열은 안쪽 중괄호가 3개이므로 행이 3개, 안쪽 중괄호에 2개의 값이 있으므로 열이 2개.
// 즉, 3개의 행과 2개의 열을 가진 2차원 배열.
{ {1, 4}, {2, 5}, {3, 6} }, // 깊이 1인 2차원 배열
//
{ {6, 5}, {4, 3}, {2, 1} }, // 깊이 2인 2차원 배열
//
{ {6, 3}, {5, 2}, {4, 1} }, // 깊이 3인 2차원 배열
//
}; // 중괄호를 사용하여 각 깊이, 행, 열에 해당하는 값을 초기화

        // 3중 for 문을 사용하여 3차원 배열의 각 요소를 순회
        for (int i = 0; i < array.GetLength(0); i++) // array.GetLength(0)는 배열의 첫 번째 차원(깊이)의 길이를 반환
        {
            for (int j = 0; j < array.GetLength(1); j++) // array.GetLength(1)는 배열의 두 번째 차원(행)의 길이를 반환
            {
                Console.Write("{ ");
                for (int k = 0; k < array.GetLength(2); k++) // array.GetLength(2)는 배열의 세 번째 차원(열)의 길이를 반환
                {
                    Console.Write($"{array[i, j, k]} "); // 현재 요소의 값을 출력
                }
                Console.Write("} ");
            }
            Console.WriteLine(); 
        }
    }
}

}

/*
출력 결과

{ 1 2 } { 3 4 } { 5 6 }
{ 1 4 } { 2 5 } { 3 6 }
{ 6 5 } { 4 3 } { 2 1 }
{ 6 3 } { 5 2 } { 4 1 }
*/

0개의 댓글