একটি স্ট্রিং এবং জিগ-জ্যাগ প্যাটার্নের সারির সংখ্যা n দেওয়া আছে। স্ট্রিংকে জিগ-জ্যাগ প্যাটার্নে লিখে প্রতিটি সারির কনক্যাটেনেশন প্রিন্ট করতে হবে।
উদাহরণ ১: "STUVWXYZ", n=2 → জিগ-জ্যাগ:
S U W Y
T V X Z
কনক্যাটেনেশন: SUWYTVXZ
উদাহরণ ২: "ABCDEFGH", n=3 → আউটপুট: AEBDFHCG
- n সাইজের স্ট্রিং অ্যারে রাখুন।
- row=0, direction=1 (নিচে)।
- প্রতি ক্যারেক্টর সংশ্লিষ্ট row-এ অ্যাপেন্ড করুন।
- row=n-1 হলে direction=-1 (উপর), row=0 হলে direction=1।
- শেষে সব row কনক্যাটেনেট করুন।
#include <bits/stdc++.h>
using namespace std;
void ZigZagConcatenationString(string str, int n) {
if (n == 1) { cout << str; return; }
int len = str.length();
string arr[n];
int row = 0, direction = 1;
for (int i = 0; i < len; ++i) {
arr[row].push_back(str[i]);
if (row == n-1) direction = -1;
else if (row == 0) direction = 1;
(direction == 1) ? row++ : row--;
}
for (int i = 0; i < n; ++i) cout << arr[i];
}
int main() {
string str = "ABCDEFGH";
int n = 3;
ZigZagConcatenationString(str, n);
return 0;
}
AEBDFHCG