কম্পিউটার টিউটোরিয়াল

C++-এ জিগ-জ্যাগ স্ট্রিংকে n সারিতে কনক্যাটেনেট করুন

একটি স্ট্রিং এবং জিগ-জ্যাগ প্যাটার্নের সারির সংখ্যা 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
  1. C++ প্রোগ্রাম: হ্যাপি বার্থডে প্রিন্ট করা

  2. C++-এ স্ট্রিং টোকেনাইজেশন: স্ট্রিম এবং getline() ব্যবহার

  3. C++-এ স্ট্রিং টোকেনাইজ (Tokenize) করা

  4. পাইথন - স্ট্রিং তালিকায় ক্রমবর্ধমান স্লাইস সংযোগ