以波浪模式輸出 C++ 字串


在這個問題中,我們給定一個字串和一個整數 n。我們的任務是以 n 行的波浪模式列印給定的字串。

我們舉個例子來理解這個問題,

Input: Tutorial n = 3
Output:
T             r
   U       o       i       s
      t                l

波浪模式透過逐行逐個列印字串的每個字元來列印,並且和下一個元素隔開一個製表符,持續到第 n 行。並且在打印製表符到上一行直到第一行並遵循這種模式,直到字串中沒有更多字元為止。

示例

以下程式碼給出了我們解決方案的實現,

 現場演示

#include<bits/stdc++.h>
using namespace std;
void printWavePattern(string s, int n) {
   if (n==1) {
      cout<<s;
      return;
   }
   int len=s.length();
   char a[len][len]={ };
   int row=0;
   bool down;
   for (int i=0; i<len; i++) {
      a[row][i]=s[i];
      if (row==n-1)
         down=false;
      else if (row==0)
         down=true;
         (down)?(row++):(row--);
   }
   for (int i=0; i<n; i++) {
      for (int j=0; j<len; j++) {
         cout<<a[i][j]<<" ";
      }
      cout<<endl;
   }
}
int main() {
   string str = "TutorialsPoint";
   int n = 4;
   cout<<n<<" Line wave pattern '"<<str<<"' is:\n";
   printWavePattern(str, n);
}

產出

4 Line wave pattern 'TutorialsPoint' is −
T    a    n
u   i l    i t
t    r    s o
   o    P

更新於: 2020 年 1 月 22 日

425 檢視

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告