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

C++-এ X ক্যারেক্টার দিয়ে শুরু ও Y ক্যারেক্টার দিয়ে শেষ সাবস্ট্রিং গণনা


আমাদের একটি স্ট্রিং str দেওয়া আছে। লক্ষ্য হলো str-এ কতগুলো সাবস্ট্রিং আছে যাদের শুরুতে ক্যারেক্টার X এবং শেষে ক্যারেক্টার Y থাকে। উদাহরণস্বরূপ, ইনপুট "artact", X='a', Y='t' হলে সাবস্ট্রিং: "art", "act", "artact"। মোট ৩টি।

উদাহরণ দিয়ে বুঝি

ইনপুট − str="abcccdef", X='a', Y='c'

আউটপুট − X দিয়ে শুরু ও Y দিয়ে শেষ সাবস্ট্রিং: ৩

ব্যাখ্যা − সাবস্ট্রিং: "abc", "abcc", "abccc"। মোট ৩।

ইনপুট − str="tempest", X='t', Y='t'

আউটপুট − X দিয়ে শুরু ও Y দিয়ে শেষ সাবস্ট্রিং: ৩

ব্যাখ্যা − সাবস্ট্রিং: "t", "tempest", "t"। মোট ৩।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

স্ট্রিং ট্রাভার্স করে X-এর কাউন্ট বাড়াব। Y পাওয়া গেলে X-এর কাউন্টকে মোট সাবস্ট্রিং কাউন্টে যোগ করব।

  • স্ট্রিং str। দৈর্ঘ্য str.size()।
  • X_Y(string str, int length, char X, char Y) ফাংশন স্ট্রিং, X, Y নিয়ে X দিয়ে শুরু Y দিয়ে শেষ সাবস্ট্রিং কাউন্ট রিটার্ন করে।
  • প্রাথমিক count=0, x_total=0 (X-এর কাউন্ট)।
  • i=0 থেকে length পর্যন্ত লুপে:
    • str[i]==X হলে x_total++।
    • str[i]==Y হলে count += x_total। যদি কোনো X না থাকে, x_total ০ থাকবে।
  • count রিটার্ন করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int X_Y(string str, int length, char X, char Y) {
    int count = 0;
    int x_total = 0;
    for (int i = 0; i < length; i++) {
        if (str[i] == X) {
            x_total++;
        }
        if (str[i] == Y) {
            count = count + x_total;
        }
    }
    return count;
}

int main() {
    string str = "defaabbcchhkl";
    int length = str.size();
    char X = 'd';
    char Y = 'a';
    cout << "Count of substrings that starts with character X and ends with character Y are: " << X_Y(str, length, X, Y);
    return 0;
}

আউটপুট

Count of substrings that starts with character X and ends with character Y are: 2
  1. C++-এ বিটওয়াইজ AND অড পেয়ার: বিজোড় ফলাফল वाले যোড়া গণনা

  2. C++-এ স্ট্রিং ক্যারেক্টার টাইপ কাউন্ট: আপার, লোয়ার, ডিজিট, স্পেশাল

  3. C++-এ বাইনারি সাবস্ট্রিং গণনা (Count Binary Substrings)

  4. 'a' দিয়ে শুরু ও শেষ হলে DFA তৈরি করার C++ প্রোগ্রাম