Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 행렬의 행별 대 열별 순회

<시간/>

행렬은 두 가지 방법으로 순회할 수 있습니다. Row-mise 순회는 첫 번째 행에서 시작하여 두 번째 행부터 마지막 ​​행까지 각 행을 하나씩 방문합니다. 행의 요소는 인덱스 0에서 마지막 인덱스까지 반환됩니다.

열 단위 순회에서 요소는 첫 번째 열에서 마지막 열까지 순서대로 순회됩니다.

2D 행렬 M[i][j]에서. 인덱스 i는 행을 나타내는 데 사용되고 인덱스 j는 열을 나타내는 데 사용됩니다. 행 단위 순회의 경우

부터 시작합니다.

i=0번째 행 및 0<=j<마지막 인덱스

i=첫 번째 행 및 0<=j<마지막 색인

.....

i=마지막 행 및 0<=j<마지막 인덱스

열 단위 순회의 경우

에서 시작합니다.

j=0번째 열 및 0<=i<마지막 인덱스

j=첫 번째 열 및 0<=i<마지막 색인

.....

j=마지막 열 및 0<=i<마지막 인덱스

2D 배열에서 인덱스 순서는 동일하게 유지됩니다. M[i][j]-i는 행이고 j는 열입니다.

예시

입력 -

int arr[MAX][MAX] ={ {1,2,3,4,5},{6,7,8,9,0}, {5,4,3,2,1},{ 0,0,0,0,0}, {8,9,7,6,1}};

출력 -

행 주요 순회1 2 3 4 56 7 8 9 05 4 3 2 10 0 0 0 08 9 7 6 1열 주요 순회1 6 5 0 82 7 4 0 93 8 3 0 74 9 10 2 1 0 605 사전> 

설명 −출력은 자명합니다.

C++에서 행렬의 행별 대 열별 순회

입력 -

int arr[MAX][MAX] ={ {1,1,1,1,1},{2,2,2,2,2}, {3,3,3,3,3},{ 4,4,4,4,4}, {5,5,5,5,5}};

출력 -

행 주 순회1 1 1 1 12 2 2 2 23 3 3 3 34 4 4 4 45 5 5 5 5열 주 순회1 2 3 4 51 2 3 4 51 2 3 4 51 2 3 3 4 51 2 3 3 4 51 사전> 

설명 − 출력은 자명합니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

이 접근 방식에서는 입력 2D 행렬을 행 방향 및 열 방향 순회로 인쇄하기 위해 두 개의 for 루프를 사용합니다.

  • 2D 행렬을 나타내기 위해 입력 배열 arr[][]를 사용합니다.

  • 행 요소와 열 요소에 대한 인덱스로 변수 i와 j를 사용합니다.

  • 행 단위 순회를 위해 인덱스 i=0에서 i

  • 그 안에서 i번째 행의 모든 ​​요소를 ​​순회하기 위해 j=0에서 j

  • 인쇄 arr[i][j]

  • 열 단위 순회의 경우 인덱스 j=0에서 j

  • 그 안에서 j번째 열의 모든 요소를 ​​순회하기 위해 i=0에서 i

  • 인쇄 arr[i][j].

예시

#include 네임스페이스 std;#define MAX 5int main(){ int arr[MAX][MAX] ={ {1,2,3,4,5},{6,7 ,8,9,0},{5,4,3,2,1},{0,0,0,0,0},{8,9,7,6,1}}; 정수 i, j; cout<<"행 주요 순회 "< 

출력

위의 코드를 실행하면 다음과 같은 출력이 생성됩니다.

행 주요 순회1 2 3 4 56 7 8 9 05 4 3 2 10 0 0 0 08 9 7 6 1열 주요 순회6 5 0 8 3 2 7 6 4