用 C++ 列印逆水波形式的矩陣


在此問題中,給定一個矩陣。我們的任務是用一行以逆水波形式列印該矩陣。

此示例將闡明問題,

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

更新時間: 27-Jan-2020

373 次瀏覽

開啟您的 職業生涯

完成課程獲取認證

開始
廣告
© . All rights reserved.