2D 배열
2차원 배열은 두 개의 인덱스가 있는 배열입니다. 각 요소(종종 이러한 배열은 matrix라는 한 단어로 호출됨).
다양한 테이블 형식의 데이터를 매트릭스에 저장하고 처리하는 것이 편리합니다. 테이블이 행과 열로 구성되는 것처럼 행렬도 행과 열로 구성됩니다.
명확성을 위해 다음과 같이 배열을 나타낼 수 있습니다.
실제로 컴퓨터의 메모리에서 매트릭스는 다음과 같이 보입니다.
프로그램에서 행렬을 사용하려면 데이터 유형과 두 가지 크기(숫자 또는 상수)를 지정하여 일반 배열처럼 선언해야 합니다. 초기값을 즉시 설정하는 것도 가능하고 바람직합니다. 예를 들어 모든 요소를 재설정합니다.
예제 1: 임의의 초기값으로 3행 3열 배열 선언
<예비>
intA[3][3] = {{0,1,2},
{3,4,5},
{6,7,8} };
예 2: 초기 값이 0인 5행 10열(크기는 상수를 통해 설정됨)의 배열 선언
<예비>
const int N = 5, M = 10;
이중 B[N][M] = {};
행렬의 특정 요소를 참조하기 위해 두 쌍의 대괄호를 사용합니다. 첫 번째 대괄호에는 행 번호를, 두 번째 대괄호에는 열 번호를 나타냅니다.
예:
<예비>
A[0][2] = 100; //행과 열의 번호 매기기는 0부터 시작합니다
매트릭스 채우기 및 표시
전체 행렬을 순회하려면 중첩 루프가 필요합니다. 키보드에서 요소의 값을 요청하고 단순히 채워진 행렬을 화면에 표시하는 프로그램의 예를 사용하여 행렬을 채우고 출력하는 방법을 살펴보겠습니다.
<예비>
#include <iostream>
네임스페이스 표준 사용;
정수 메인() {
/* 2차원 배열 선언 */
const int N = 2, M = 3;
정수 A[N][M];
/* 키보드에서 한 줄씩 행렬의 요소를 채웁니다 */
정수 i, j;
for (i = 0; i < N; i++)
for (j = 0; j < M; j++)
cin>> A[i][j];
// 행렬의 모든 요소를 한 줄씩 화면에 표시
for (i = 0; i < N; i++) { //외부 루프는 행을 반복합니다.
for (j = 0; j < M; j++) // 문자열의 요소를 표시하는 루프
cout << A[i][j] << " "
cout << 끝; //j번째 줄의 요소를 표시한 후 새 줄로 이동합니다.
}
0을 반환합니다.
}
위의 예에서 행렬을 채우고 표시하는 것은 행 단위로 발생합니다(먼저 모든 값
j - 열의 색인을 통과한 다음 행 색인만 변경됨 -
>i)
루프(내부와 외부)를 교체하면 배열을 열별로 채우거나 출력할 수 있습니다.