Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में दिए गए स्ट्रिंग में लंबाई तीन के बाद की गणना करें

हमें स्ट्रिंग स्ट्र और लंबाई 3 का एक सबस्ट्रिंग सब_स्ट्र दिया गया है। लक्ष्य स्ट्र में बाद के सब_स्ट्र की गिनती का पता लगाना है। उदाहरण "एक्ट" "मोतियाबिंद" (मोतियाबिंद, मोतियाबिंद, मोतियाबिंद) में तीन बार होता है।

आइए उदाहरणों से समझते हैं।

इनपुट - str="निपटान" sub_str="सेट"

आउटपुट - किसी दिए गए स्ट्रिंग में लंबाई तीन के बाद की गणना हैं:5

स्पष्टीकरण - इसके बाद होंगे -

1. set tlement,
2. se t t lement,
3. se ttlemen t,
4. s ettl e men t,
5. settlem e n t

इनपुट - str="ज्ञान" sub_str="अब"

आउटपुट − दी गई स्ट्रिंग में लंबाई तीन के बाद के क्रम की गणना है − 1

स्पष्टीकरण − इसके बाद के परिणाम होंगे - बढ़त को जानें

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

हम लूप के लिए स्ट्रिंग स्ट्र को पार करेंगे। यदि कोई str[i]==sub_str[0] तो अगले वर्ण sub_str[1] की तुलना str[current i से i

  • स्ट्रिंग को str के रूप में लें और सबस्ट्रिंग को sub_str के रूप में लें।

  • फ़ंक्शन सबसेट_ओकरेंस (स्ट्रिंग स्ट्र, इंट लेंथ, स्ट्रिंग सब_स्ट्र) स्ट्रिंग लेता है और स्ट्र में सब_स्ट्र के समान बाद की गिनती देता है।

  • लूप के लिए उपयोग कर ट्रैवर्स स्ट्र। i=0 से i<लंबाई तक।

  • यदि कोई str[i]==sub_str[0], पहला अक्षर मिला। इसके बाद j=i+1 से j<लंबाई तक चेक करें।

  • यदि कोई str[j]==sub_str[1], दूसरा वर्ण मेल खाता है। k=j+1 से k<लंबाई तक आगे चेक करें।

  • अगर str[k]==sub_str[2]. वेतन वृद्धि की संख्या।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include<iostream>
using namespace std;
int subset_occurrence(string str, int length, string sub_str){
   int count = 0;
   for (int i=0; i<length; i++){
      if (str[i]==sub_str[0]){
         for (int j=i+1; j< length; j++){
            if(str[j]==sub_str[1]){
               for(int k=j+1; k<length; k++){
                  if(str[k]==sub_str[2])
                     { count++; }
               }
            }
         }
      }
   }
   return count;
}
int main(){
   string str = "TUTpoinTUTpoinTUT";
   int length = str.length();
   string sub_str = "TUT";
   cout<<"Count of subsequence of length three in a given string are: "<<subset_occurrence(str, length, sub_str);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of subsequence of length three in a given string are: 19

  1. एक पैलिंड्रोमिक स्ट्रिंग बी खोजें जैसे कि दिया गया स्ट्रिंग ए सी ++ में बी का एक क्रम है

    मान लीजिए कि हमारे पास एक स्ट्रिंग ए है, हमें एक और स्ट्रिंग बी ढूंढनी है, जो पैलिंड्रोम होगी। और दिया गया स्ट्रिंग A, B का अनुगमन होगा। एक स्ट्रिंग का अनुगमन एक स्ट्रिंग है जिसे इसके द्वारा शेष वर्णों के क्रम को बदले बिना कुछ वर्णों को हटाकर बनाया जा सकता है। मान लीजिए कि स्ट्रिंग कॉटस्ट है, तो उत्

  1. एक स्ट्रिंग के सबसे लंबे अनुक्रम की लंबाई ज्ञात करें जो C++ में किसी अन्य स्ट्रिंग को प्रतिस्थापित कर रहा है

    मान लीजिए, हमारे पास दो स्ट्रिंग्स X और Y हैं, और हमें स्ट्रिंग X के सबसे लंबे बाद के अनुक्रम की लंबाई का पता लगाना है, जो अनुक्रम Y में है। इसलिए यदि X =ABCD और Y =BACDBDCD, तो आउटपुट 3 होगा। . चूंकि एसीडी एक्स का सबसे लंबा उप-अनुक्रम है, जो वाई का विकल्प है। यहां हम इस समस्या को हल करने के लिए गत

  1. जांचें कि दी गई स्ट्रिंग सी ++ में योग-स्ट्रिंग है या नहीं

    यहां हम देखेंगे कि कैसे जांचा जाए कि कोई स्ट्रिंग सम-स्ट्रिंग है या नहीं। एक स्ट्रिंग को सम-स्ट्रिंग कहा जाता है यदि सबसे दाहिने सबस्ट्रिंग को इसके पहले दो सबस्ट्रिंग के योग के रूप में लिखा जा सकता है, और वही इसके पहले सबस्ट्रिंग के लिए पुनरावर्ती सत्य है। मान लीजिए 12243660 की तरह एक स्ट्रिंग एक यो