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

जांचें कि कोई स्ट्रिंग एएनबीएन पैटर्न का अनुसरण करती है या नहीं सी++ में

मान लीजिए, हमें एक स्ट्रिंग दी गई है जो केवल दो अक्षरों a और b से बनी है। हमें यह पता लगाना है कि क्या स्ट्रिंग anbn के रूप की है, या दूसरे शब्दों में इसमें n संख्या a के बाद b की n संख्या है। अगर सही है, तो हम 1 लौटाते हैं अन्यथा 0.

इसलिए, अगर इनपुट "आआआआआआआआआबब्बब्बब्बब्बब्बब्बब्ब" जैसा है, तो आउटपुट सही होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • लंबाई:=input_string की लंबाई
  • इनिशियलाइज़ i :=0 के लिए, जब i <लंबाई, अपडेट (i 1 से बढ़ाएँ), करें और घटाएँ
    • यदि input_string[i] 'a' के बराबर नहीं है, तो −
      • लूप से बाहर आएं
  • यदि i * 2 लंबाई के बराबर नहीं है, तो −
    • झूठी वापसी
  • इनिशियलाइज़ j :=i के लिए, जब j <लेंथ, अपडेट (j को 1 से बढ़ाएँ), −
      करें
    • अगर input_string[j] 'b' के बराबर नहीं है, तो −
      • झूठी वापसी
  • सही लौटें

उदाहरण (C++)

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
bool solve(string input_string) {
   int length = input_string.length();
   int i;
   for (i = 0; i < length; i++)
      if (input_string[i] != 'a')
         break;
      if (i * 2 != length)
         return false;
      for (int j = i; j < length; j++)
         if (input_string[j] != 'b')
            return false;
   return true;
}
int main() {
   string input_string = "aaaaaaaaaaaabbbbbbbbbbbb";
   cout << solve(input_string)<< endl;
   return 0;
}

इनपुट

"aaaaaaaaaaaabbbbbbbbbbbb"

आउटपुट

1

  1. स्ट्रिंग की जाँच करने के लिए C++ कोड विविध है या नहीं

    मान लीजिए कि हमारे पास n लोअरकेस अक्षरों वाला एक स्ट्रिंग S है। एक स्ट्रिंग को विविध कहा जाता है यदि उसमें अंग्रेजी वर्णमाला के लगातार अक्षर हों और प्रत्येक अक्षर ठीक एक बार आता हो। (अक्षर ए और जेड आसन्न नहीं हैं)। हमें यह जांचना होगा कि यह विविध है या नहीं। इसलिए, यदि इनपुट S =fced जैसा है, तो आउट

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

    मान लीजिए कि हमारे पास n वर्णों के साथ एक स्ट्रिंग S है। S में लोअरकेस अंग्रेजी अक्षर और ) अक्षर हैं। स्ट्रिंग खराब है, अगर अंत में वर्णों की संख्या ) शेष वर्णों की संख्या से सख्ती से अधिक है। हमें जांचना है कि S खराब है या नहीं। इसलिए, यदि इनपुट S =fega)))))) जैसा है, तो आउटपुट ट्रू होगा, क्योंकि

  1. जाँच करें कि कोई ट्री आइसोमॉर्फिक है या नहीं C++ में

    एक बाइनरी ट्री में, प्रत्येक नोड में दो बच्चे होते हैं, अर्थात, बायाँ बच्चा और दायाँ बच्चा। मान लें कि हमारे पास दो बाइनरी ट्री हैं और कार्य यह जांचना है कि क्या एक पेड़ के बाईं ओर से दूसरे पेड़ को फ़्लिप करके प्राप्त किया जा सकता है या नहीं। एक पेड़ आइसोमॉर्फिक होता है अगर इसे दूसरे पेड़ के बाईं ओ