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

C++-এ স্ট্রিংকে ব্র্যাকেট দিয়ে সব উপস্ট্রিং আকারে ভাঙা

একটি স্ট্রিং দেওয়া আছে। এটিকে সব সম্ভাব উপস্ট্রিং-এ ভাগ করে প্রতিটি উপস্ট্রিংকে ব্র্যাকেটের ভিতরে রাখতে হবে।

উদাহরণ: ইনপুট: "wxyz"
আউটপুট:
(w)(x)(y)(z)
(w)(x)(yz)
(w)(xy)(z)
(w)(xyz)
(wx)(y)(z)
(wx)(yz)
(wxy)(z)
(wxyz)

রিকার্সিভ সমাধান

রিকার্সন ব্যবহার করে সমাধান করা হয়। دوটি প্যারামিটার থাকে: স্ট্রিং-এর পরবর্তী ক্যারেক্টারের ইনডেক্স এবং আউটপুট স্ট্রিং। প্রতি ধাপে অনপ্রসেসড সাবস্ট্রিং প্রসেস করে সাবসেট তৈরি করা হয়।

উদাহরণ কোড
#include <iostream>
using namespace std;

void substring(string str, int index, string out) {
    if (index == str.length())
        cout << out << endl;
    for (int i = index; i < str.length(); i++)
        substring(str, i + 1, out + "(" + str.substr(index, i+1-index) + ")");
}

int main() {
    string str = "wxyz";
    cout << "The substring are :" << endl;
    substring(str, 0, "");
    return 0;
}
আউটপুট
The substring are :
(w)(x)(y)(z)
(w)(x)(yz)
(w)(xy)(z)
(w)(xyz)
(wx)(y)(z)
(wx)(yz)
(wxy)(z)
(wxyz)
  1. ক্যারেক্টার রিপিটিশন সহ স্ট্রিংয়ের সব পারমুটেশন প্রিন্ট করা C++-তে

  2. C++-এ ব্র্যাকেট নম্বর প্রিন্ট করুন

  3. স্ট্রিং-এর সকল সাবস্ট্রিং প্রিন্ট (C++)

  4. C++-এ ম্যাট্রিক্স Z-ফর্মে প্রিন্ট করা (Print Matrix in Z form)