এই সমস্যায় একটি স্ট্রিং এবং একটি পূর্ণসংখ্যা n দেওয়া আছে। আমাদের দেওয়া স্ট্রিংকে n লাইনের ভেইব প্যাটার্ন-এ প্রিন্ট করতে হবে।
উদাহরণ
ইনপুট: Tutorial, n = 3 আউটপুট: T r U o i s s t l
ভেইব প্যাটার্ন প্রিন্ট করার জন্য স্ট্রিংর প্রতিটি অক্ষরকে একে efter একে পরবর্তী লাইনে এবং পরবর্তী উপাদান থেকে ট্যাব স্পেস দিয়ে 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);
return 0;
}
আউটপুট
4 Line wave pattern 'TutorialsPoint' is :
T a n
u i l
t t
r s o
o P