Problem

1/11

2차원 배열. 소개

Theory Click to read/hide

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)
루프(내부와 외부)를 교체하면 배열을 열별로 채우거나 출력할 수 있습니다.

Problem

키보드에서 NxM 행렬을 채우고 한 줄씩 표시하는 프로그램을 완성하십시오(5<=N,M<=100).