ในปัญหานี้ เราได้รับสตริงและจำนวนเต็ม 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