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