কম্পিউটার

C++ ব্যবহার করে অন্যটিতে উপস্থিত একটি স্ট্রিংয়ের সাবস্ট্রিংয়ের সংখ্যা খুঁজুন


এই নিবন্ধে, আমাদের দুটি স্ট্রিং দেওয়া হয়েছে, এবং আমাদের খুঁজে বের করতে হবে 1ম স্ট্রিংয়ের কতগুলি সাবস্ট্রিং 2য় স্ট্রিং-এ পাওয়া যাবে (সঠিক সাবস্ট্রিং একাধিকবার ঘটতে পারে)। যেমন

Input : string1 = “fogl”
   string2 = “google”
Output : 6
Explanation : substrings of string1 present in string2 are [ “o”, “g”, “l”, “og”, “gl”,
“ogl” ].

Input : string1 = “ajva”
   string2 = “java”
Output : 5
Explanation : substrings of string1 present in string2 are [ “a”, “j”, “v”, “a”, “va” ].

সমাধান খোঁজার পদ্ধতি

আসুন আলোচনা করা যাক কিভাবে আমরা অন্য একটি স্ট্রিং-এ উপস্থিত বেশ কয়েকটি সাবস্ট্রিং খুঁজে বের করার এই সমস্যার সমাধান করতে পারি; উদাহরণের দিকে তাকিয়ে; আমরা বুঝতে পেরেছি যে প্রথমে, আমাদের স্ট্রিং 1 এর সমস্ত সাবস্ট্রিংগুলি দেখতে হবে এবং তারপরে আমাদের প্রতিটি সাবস্ট্রিংটি অন্য স্ট্রিংয়ে উপস্থিত আছে কিনা তা পরীক্ষা করতে হবে, যদি হ্যাঁ হয় তবে কাউন্টারটি বৃদ্ধি করুন এবং পুরো স্ট্রিংটি পরিচালনা করার পরে কাউন্টারে সংরক্ষিত ফলাফলটি পরীক্ষা করুন। .

উপরের পদ্ধতির জন্য C++ কোড

এখানে C++ সিনট্যাক্স রয়েছে যা আমরা প্রদত্ত সমস্যার সমাধান করতে ইনপুট হিসাবে ব্যবহার করতে পারি −

উদাহরণ

#include<iostream>
#include<string>
using namespace std;

int main() {
   string str1 = "ajva";
   string str2 = "java";
   int count = 0;// counter to store result
   int n = str1.length();

   for (int i = 0; i < n; i++) {

      string str3; // string3 is initialised to store all substrings of string1
      for (int j = i; j < n; j++) {
         str3 += str1[j];

         // checking whether substring present in another string or not
         if (str2.find(str3) != string::npos)
            count++;
      }
   }
   cout << "Number of substrings of one string present in other : "<< count;
   return 0;
}

আউটপুট

Number of substrings of one string present in other : 5

কোড বোঝা

প্রথমত, এই কোডে, আমরা উভয় স্ট্রিং-এর মান দিচ্ছি এবং 0 দিয়ে কাউন্টার শুরু করছি। আমরা পুরো স্ট্রিং দিয়ে যাচ্ছি এবং str1-এর সম্ভাব্য সমস্ত সাবস্ট্রিং খুঁজে বের করছি এবং str3-এ সংরক্ষণ করছি। তারপরে আমরা str1 এর প্রতিটি সাবস্ট্রিং পরীক্ষা করি, str2 তে উপস্থিত কিনা; যদি হ্যাঁ, তাহলে কাউন্টারটিকে 1 দ্বারা বৃদ্ধি করুন এবং আমরা অবশেষে কাউন্টার ভেরিয়েবলে সংরক্ষিত আউটপুটটি প্রিন্ট করছি৷

উপসংহার

এই নিবন্ধটি অন্য স্ট্রিং-এ উপস্থিত একটি স্ট্রিংয়ের সাবস্ট্রিংগুলির সংখ্যা খুঁজে বের করার সহজ সমাধান খুঁজে পেয়েছে। আমরা অন্যান্য ভাষা যেমন সি, জাভা, পাইথন এবং অন্যান্য ভাষায় একই প্রোগ্রাম লিখতে পারি। আমরা আশা করি আপনার এই নিবন্ধটি সহায়ক হবে৷


  1. C++ ব্যবহার করে পঞ্চভুজ পিরামিডাল নম্বর খুঁজুন

  2. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  3. C++ ব্যবহার করে লোকেদের জোড়ার উপায়ের সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে স্টপিং স্টেশনের সংখ্যা খুঁজুন