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

उन सबस्ट्रिंग्स की गणना करें जो वर्ण X से शुरू होती हैं और C++ में वर्ण Y के साथ समाप्त होती हैं

हमें स्ट्रिंग str दिया जाता है। लक्ष्य उन सबस्ट्रिंग्स की संख्या को गिनना है जिसमें प्रारंभिक वर्ण X वर्ण के समान है और अंतिम वर्ण वर्ण Y के समान है। उदाहरण के लिए, यदि इनपुट "artact" और X ='a' और Y ='t' है, तो सबस्ट्रिंग "कला", "अधिनियम", "कला" होंगे। गिनती 3 है।

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

इनपुट - str="abcccdef" X='a' Y='c'

आउटपुट −सबस्ट्रिंग की संख्या जो वर्ण X से शुरू होती है और Y पर समाप्त होती है − 3

. है

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

“abc”, “abcc”, “abccc”. Total 3.

इनपुट − str=”tempest” X='t' Y='t'

आउटपुट − वर्ण X से शुरू होने वाले और Y पर समाप्त होने वाले सबस्ट्रिंग की संख्या है − 3

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

“t” , “tempest” , “t”. Total 3

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

हम X की स्ट्रिंग और इंक्रीमेंट काउंट को पार करेंगे। यदि फिर Y का सामना करना पड़ता है, तो X से शुरू होने वाली और Y के साथ समाप्त होने वाली स्ट्रिंग्स की गिनती में X काउंट जोड़ें।

  • स्ट्रिंग स्ट्र लें। लंबाई की गणना str.size() के रूप में करें।

  • फंक्शन X_Y (स्ट्रिंग स्ट्र, इंट लेंथ, चार एक्स, चार वाई) स्ट्रिंग स्ट्र, कैरेक्टर एक्स, वाई लेता है और स्ट्र के सबस्ट्रिंग्स की गिनती देता है जो एक्स से शुरू होता है और वाई के साथ समाप्त होता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • x_total को str में वर्ण X की गणना के रूप में लें।

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

  • अगर str[i]==X, एक्स की वृद्धि संख्या str (x_total++) में है।

  • अगर str[i]==Y, गिनने के लिए x_total जोड़ें। यदि कोई X नहीं होता तो x_total 0 होता, अन्यथा, Y उस सबस्ट्रिंग का अंतिम वर्ण होता है जो X से शुरू होता है।

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

उदाहरण

#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++ में अपरकेस, लोअरकेस, विशेष वर्ण और संख्यात्मक मानों की गणना करें

    हमें एक स्ट्रिंग दी गई है जिसमें अपरकेस अक्षर, लोअरकेस अक्षर, विशेष वर्ण और संख्या मान भी हैं। कार्य स्ट्रिंग में सभी प्रकार के वर्णों, विशेष वर्णों और संख्यात्मक मानों की आवृत्ति की गणना करना है। अपरकेस अक्षर - ए - जेड जिसमें एएससीआईआई मान 65 - 90 से हैं, जहां 65 और 90 शामिल हैं। लोअरकेस लेटर − a

  1. सी ++ में बाइनरी सबस्ट्रिंग्स की गणना करें

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें सन्निहित सबस्ट्रिंग्स की संख्या ज्ञात करनी है जिनमें 0 और 1 की संख्या समान है, और इन सबस्ट्रिंग्स में सभी 0 और सभी 1 को क्रमिक रूप से समूहीकृत किया गया है। यदि सबस्ट्रिंग कई बार होते हैं तो उनके आने की संख्या की गणना की जाती है। इसलिए, यदि इनपुट 1100110

  1. DFA बनाने का प्रोग्राम जो C++ में इनपुट (a, b) से 'a' से शुरू और खत्म होता है

    वर्णों ए और बी के एक डीएफए स्ट्रिंग को देखते हुए, जो कि ए से शुरू और समाप्त होना चाहिए, कार्य यह पता लगाना है कि स्ट्रिंग डीएफए के माध्यम से ए के ​​साथ शुरू और समाप्त होती है या नहीं। DFA (निर्धारक परिमित ऑटोमेटा) क्या है? गणना के सिद्धांत में, सैद्धांतिक कंप्यूटर विज्ञान की एक शाखा, नियतात्मक पर