이 문제에서는 행렬이 제공됩니다. 우리의 임무는 매트릭스를 역파형으로 인쇄하는 것입니다. 한 줄로.
이 예를 통해 문제가 명확해집니다.
Input: 1 4 6 11 2 5 8 54 7 9 3 43 1 7 4 34 Output: 11 54 43 34 4 3 8 6 4 5 9 7 1 7 2 1
이 문제를 해결하려면 행렬의 역 파형을 인쇄해야 하며 이를 위해 마지막 열의 요소를 아래쪽 방향으로 인쇄한 다음 마지막에서 두 번째 열의 요소를 위쪽으로 인쇄합니다. 이 배열의 첫 번째 열에.
예시
우리 솔루션의 구현을 보여주는 프로그램
#include<iostream> using namespace std; #define R 4 #define C 4 void printReverseWaveForm(int m, int n, int arr[R][C]) { int i, j = n - 1, wave = 1; while (j >= 0) { if (wave == 1) { for (i = 0; i < m; i++) cout<<arr[i][j]<<" "; wave = 0; j--; } else { for (i = m - 1; i >= 0; i--) cout<<arr[i][j]<<" "; wave = 1; j--; } } } int main() { int arr[R][C] = { { 1, 5, 7, 98 }, { 15, 22, 45, 12 }, { 5, 10, 21, 34 }, { 31, 24, 45, 60 } }; cout<<"Reverse Wave Form of the given matrix :\n"; printReverseWaveForm(R, C, arr); return 0; }
출력
주어진 행렬의 역파형 -
98 12 34 60 45 21 45 7 5 22 10 24 31 5 15 1