multidimensional arrays c
예제와 함께 C ++에서 다차원 배열의 역할.
지금까지 이전 튜토리얼에서 1 차원 배열에 대한 모든 것을 보았습니다.
C ++는 차원이 두 개 이상인 배열도 지원합니다. 이를 다차원 배열이라고합니다. 다차원 배열은 일반적으로 표 형식 즉, 행 우선 순서로 정렬됩니다.
=> 여기에서 전체 C ++ 교육 시리즈를 찾아보십시오.
학습 내용 :
C ++의 다차원 배열
3x2 차원의 다차원 배열, 즉 3 개 행과 2 개 열을 고려하십시오.
이 배열을 다음과 같이 나타냅니다.
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
위의 표현에서 볼 수 있듯이 각 셀은 예 : R1C1은 배열의 내용을 보유합니다.
다차원 배열에있는 요소의 수는 차원의 곱입니다. 즉, 배열의 차원이 3x2이면 해당 배열의 요소 수는 3과 2, 즉 6의 곱입니다. 마찬가지로 다차원 배열의 차원이 (10) (20) (10) 인 경우 그러면 해당 배열의 요소 수는 10 * 20 * 10 = 2000입니다.
2 차원 배열은 C ++에서 사용하는 가장 단순한 형태의 다차원 배열입니다.
배열 선언
C ++에서 다차원 배열의 일반적인 선언은 다음과 같습니다.
dataType arrayName (size1)(size2)….(sizen);
여기서 dataType은 배열의 데이터 유형입니다. 데이터 유형은 C ++에서 지원되어야합니다.
arrayName은 다차원 배열의 이름입니다.
Size1, size2… .sizen은 각 배열 차원의 크기입니다.
예를 들어크기가 3x2 인 배열, 즉 2 차원 배열 myarray_2d를 선언하겠습니다.
int myarray_2d (3)(2);
2 차원 배열은 행과 열의 형태로 표현됩니다.
따라서 위의 배열 선언은 다음과 같이 나타낼 수 있습니다.
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
위의 표현에서 볼 수 있듯이 2 차원 배열의 각 요소는 myarray_2d (i) (j)로 액세스됩니다. 여기서 i는 행 번호이고 범위는 0부터 n-1까지입니다. 여기서 n은 차원 크기이고 j는 열 번호이며 범위는 0에서 m-1까지입니다. 여기서 m은 열의 차원 크기입니다.
다차원 배열 초기화
1 차원 배열과 유사한 다차원 배열을 초기화 할 수 있습니다. 다차원 배열은 행 단위로 초기화됩니다.
다차원 배열을 초기화하는 방법에는 두 가지가 있습니다.
# 1) myarray라는 차원이 (3) (2) 인 배열을 고려하십시오.
int myarray(3)(2) = {1, 2,3,4,5,6};
여기서 배열의 초기화는 행 단위로 왼쪽에서 오른쪽으로 진행됩니다. 차원이 (3) (2)이므로 처음 두 요소가 첫 번째 행을 형성하는 식입니다.
이 초기화의 그림 표현은 다음과 같습니다.
1 | 두 |
삼 | 4 |
5 | 6 |
# 2) 위에 표시된 동일한 배열은 아래와 같이 다른 방법으로 초기화 할 수 있습니다.
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
여기서 초기화는 왼쪽에서 오른쪽으로 이루어지며 각 요소는 한 행에 해당합니다. 이 배열에는 세 개의 행이 있으므로 중괄호 ({})로 묶인 세 개의 내부 요소가 있습니다.
이 초기화 방법은 더 읽기 쉽고 배열 크기가 커질 때 유용합니다.
다차원 배열에 액세스
다차원 배열 요소는 행 인덱스와 열 인덱스를 사용하여 액세스됩니다.
보자 예 차원이 (3) (3) 인 2 차원 배열의. 다음은 초기화하는 코드입니다.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
첫 번째 행의 두 번째 요소에 액세스하여 정수 변수에 할당하려는 경우 코드 줄은 다음과 같습니다.
int val_2d = newarray(0)(1);
다음은 2 차원 배열의 선언, 초기화 및 액세스를 보여주는 샘플 프로그램입니다.
#include using namespace std; int main() { int myarray(3)(3) = {{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i <3;i++) { for(int j=0;j<3;j++) { cout< 이 프로그램은 다음 출력을 생성합니다.
12 34 5678 9
위 프로그램과 같이 2 차원 배열을 선언하고 초기화합니다. 그런 다음 모든 배열 요소에 액세스하고 인쇄하기 위해 두 개의 for 루프를 설정했습니다. 외부 for 루프는 행 단위로 요소에 액세스하는 것입니다. 내부 for 루프는 각 열의 요소에 액세스하는 카운터 역할을합니다.
ipad를위한 최고의 POS 시스템
이런 식으로이 2 차원 배열의 각 요소에 액세스하여 화면에 표시합니다.
결론
다차원 배열은 원하는 수의 차원을 가질 수 있으며 차원 수가 증가함에 따라 복잡성도 증가합니다.
위의 모든 예에서 2 차원 배열을 사용했지만 비슷한 방식으로 더 높은 차원의 배열을 코딩 할 수 있습니다.
=> 무료 C ++ 과정을 보려면 여기를 클릭하십시오.
추천 도서