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

सी ++ में एक स्ट्रिंग से दिए गए बाद के निष्कासन की अधिकतम संख्या

कार्य को देखते हुए एक स्ट्रिंग से दिए गए बाद के निष्कासन की अधिकतम संख्या ज्ञात करना है। एस्ट्रिंग एस दिया गया है और हमें बाद की अधिकतम संख्या 'एबीसी' ढूंढनी होगी जिसे स्ट्रिंग से हटाया जा सकता है।

आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है:

इनपुट

s = ‘dnabcxy’

आउटपुट

1

स्पष्टीकरण - दिए गए स्ट्रिंग ('dnabcxy') में 'abc' का केवल एक अनुगमन पाया जा सकता है, इसलिए आउटपुट 1 है।

इनपुट

s = ‘zcabcxabc’

आउटपुट

2 (‘zcabcxabc’)

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • मैक्स () फंक्शन में वेरिएबल i, a, ab, abc को वैल्यू =0 और टाइप इंट के साथ इनिशियलाइज़ करें।

  • लूप i=0 से I . तक

  • लूप के अंदर जांचें कि क्या (s[i] =='a'), यदि ऐसा है तो a.

    . का इंक्रीमेंट मान
  • अन्यथा, जांचें कि क्या (एस [i] =='बी'), यदि सत्य है तो फिर से जांचें कि क्या (ए> 0) है। अगर दोनों शर्तें सही हैं तो a का मान 1 से घटाएं और ab का मान बढ़ाएं.

  • अंत में, जांचें कि क्या (s[i] =='c'), यदि सही है तो फिर से जांचें कि क्या (ab> 0) है। यदि दोनों शर्तें सत्य हैं तो ab के मान को 1 से घटाएं और abc का मान बढ़ाएँ।

  • वापसी एबीसी

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int Max(string s){
   int i=0, a=0, ab=0, abc=0;
   for (i = 0; i < s.length(); i++){
      if (s[i] == 'a'){
         a++;
      }
      else if (s[i] == 'b'){
         if (a > 0){
            a--;
            ab++;
         }
      }
      else if (s[i] == 'c'){
         if (ab > 0){
            ab--;
            abc++;
         }
      }
   }
   return abc;
}
//main function
int main(){
   string s = "zcabcxabc";
   cout << Max(s);
   return 0;
}

आउटपुट

2

  1. C++ में अज्ञात के दिए गए उत्पाद से अधिकतम GCD

    मान लीजिए कि हम दो पूर्णांक N और P हैं। P, N अज्ञात पूर्णांकों का गुणनफल है। हमें उन पूर्णांकों का GCD ज्ञात करना है। पूर्णांकों के विभिन्न समूह संभव हो सकते हैं, जो समान परिणाम देंगे। यहां हम जीसीडी का उत्पादन करेंगे, जो सभी संभावित समूहों में अधिकतम है। मान लीजिए एन =3, और पी =24, तो अलग-अलग समूह

  1. सी ++ प्रोग्राम एक स्ट्रिंग दी गई संख्या को संयोजित करने के लिए?

    यहां हम देखेंगे कि कैसे हम एक स्ट्रिंग n को कई बार जोड़ सकते हैं। n का मान उपयोगकर्ता द्वारा दिया जाता है। यह समस्या बहुत ही सरल है। सी ++ में हम संयोजन के लिए + ऑपरेटर का उपयोग कर सकते हैं। विचार प्राप्त करने के लिए कृपया कोड के माध्यम से जाएं। एल्गोरिदम concatStrNTimes(str, n) begin    r

  1. सी ++ प्रोग्राम किसी दिए गए स्ट्रिंग के क्रमपरिवर्तन की संख्या का पता लगाने के लिए

    हम एक स्ट्रिंग के पात्रों को अलग-अलग क्रम में व्यवस्थित कर सकते हैं। यहां हम देखेंगे कि हम कैसे गिन सकते हैं कि किसी दिए गए स्ट्रिंग से कितने क्रमपरिवर्तन बन सकते हैं। हम जानते हैं कि यदि एक स्ट्रिंग abc है। इसमें तीन वर्ण हैं; हम उन्हें 3 में व्यवस्थित कर सकते हैं! =6 अलग-अलग तरीके। तो n वर्णों वा