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

দেয়া প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিংগুলি গণনা C++-এ


একটি স্ট্রিং অ্যারে str[] এবং একটি প্যাটার্ন স্ট্রিং pat দেওয়া আছে। লক্ষ্য হল str[]-এ যেসব স্ট্রিং pat দিয়ে শেষ হয়েছে, তাদের সংখ্যা বের করা।

প্রতিটি স্ট্রিং ট্রাভার্স করে শেষের ক্যারেক্টারগুলো pat-র সাথে মিলিয়ে দেখা হয়। মিললে কাউন্ট বাড়ানো হয়।

উদাহরণ

ইনপুট: str[] = {"kittens", "hens", "deers", "dogs"}, pat = "ens"

আউটপুট: প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিং: ২

ব্যাখ্যা: "kittens" এবং "hens" — "ens" দিয়ে শেষ হয়েছে।

ইনপুট: str[] = {"tickets", "wickets", "bats", "cricket"}, pat = "et"

আউটপুট: সংখ্যা: ১

ব্যাখ্যা: "wickets" — "et" দিয়ে শেষ হয়েছে।

প্রোগ্রামে ব্যবহৃত পদ্ধতি
  • স্ট্রিং অ্যারে str[], প্যাটার্ন pat, এবং স্ট্রিং সংখ্যা N নেওয়া হয়।
  • endPattern(string str[], int n, string ptr) ফাংশন কাউন্ট রিটার্ন করে।
  • প্রতিটি স্ট্রিং s এর জন্য শেষ থেকে pat-এর সাথে ক্যারেক্টার মিলিয়ে চেক করা হয়।
  • সফল হলে count বাড়ানো হয়।
C++ কোড উদাহরণ
#include 
using namespace std;

int endPattern(string str[], int n, string ptr){
    int count = 0;
    for(int i = 0; i < n; i++){
        string s = str[i];
        int slen = s.length();
        int plen = ptr.length();
        int flag = 1;
        slen--; plen--;
        while(plen >= 0){
            if(ptr[plen] != s[slen]){
                flag = 0;
                break;
            }
            plen--; slen--;
        }
        if(flag == 1) count++;
    }
    return count;
}

int main(){
    string patrn = "pes";
    int N = 4;
    string str[] = { "stripes", "cars", "ripes", "pipes" };
    cout << "প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিং: " << endPattern(str, N, patrn);
    return 0;
}
আউটপুট

উপরোক্ত কোড রান করলে আউটপুট:

প্যাটার্ন দিয়ে শেষ হওয়া স্ট্রিং: ৩
  1. C++-এ স্ট্রিংয়ে ওয়ার্ড কাউন্ট: স্পেস, নিউলাইন, ট্যাব হ্যান্ডলিং

  2. C++-এ L/R স্ট্রিং দিয়ে চূড়ান্ত দিক নির্ণয়

  3. C++-এ দেওয়া শর্ত পূরণ করে N-ডিজিট সংখ্যা গণনা

  4. সি++ প্রোগ্রাম: ডিকশনারি থেকে নির্দিষ্ট প্যাটার্ন মিলে যাওয়া সব স্ট্রিং খুঁজে বের করা