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

C++ प्रोग्राम: दी गई स्ट्रिंग में "1(0+)1" के सभी पैटर्न ज्ञात करना

मान लें किसी स्ट्रिंग में 1(0+)1 जैसे पैटर्न हैं। जहां (0+) 1 की गैर-खाली लगातार घटनाओं को इंगित करता है। हमें सभी पैटर्न ज्ञात करने हैं। पैटर्न ओवरलैप हो सकते हैं। स्ट्रिंग आवश्यक रूप से बाइनरी स्ट्रिंग नहीं है। यह केवल अंक और लोअरकेस वर्ण रख सकती है। मान लें स्ट्रिंग 1101001 की तरह है, तो ऐसे दो पैटर्न हैं। 101 और 1001।

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

  • स्ट्रिंग में प्रत्येक वर्ण c के माध्यम से पुनरावृति करें

  • जब c 1 हो, तो हम तब तक पुनरावृति करते हैं जब तक तत्व 0 है

  • जब 0 की धारा समाप्त होती है, तो हम जांचेंगे कि अगला वर्ण 1 है या नहीं

  • ये चरण स्ट्रिंग के अंत तक पहुंचने तक दोहराए जाएंगे।

उदाहरण

#include <iostream>
using namespace std;

int countBinPattern(string main_str) {
    char last_char = main_str[0];
    int i = 1, counter = 0;
    while (i < main_str.size()) {
        if (main_str[i] == '0' && last_char == '1') {
            while (main_str[i] == '0')
                i++;
            if (main_str[i] == '1')
                counter++;
        }
        last_char = main_str[i];
        i++;
    }
    return counter;
}

int main() {
    string str = "10010110000101";
    cout << "Number of substrings of pattern 1(0+)1 is: " << countBinPattern(str);
}

आउटपुट

Number of substrings of pattern 1(0+)1 is: 4
  1. C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

    इस लेख में, आप एक दी गई स्ट्रिंग में बनने वाले सबस्ट्रिंग्स (गैर-खाली) की संख्या निकालने के दृष्टिकोण के बारे में जानेंगे।इनपुट: string = moon आउटपुट: 10 व्याख्या: सबस्ट्रिंग्स हैं m, o, o, n, mo, oo, on, moo, oon और moon। इनपुट: string = yellow आउटपुट: 21समाधान खोजने का दृष्टिकोणमान लें स्ट्रिंग की

  1. C++ में दिए गए परफेक्ट बाइनरी ट्री के सभी नोड्स का योग ज्ञात करें C++ में दिए गए परफेक्ट बाइनरी ट्री के सभी नोड्स का योग ज्ञात करें

    मान लीजिए हमारे पास एक धनात्मक पूर्णांक L है, जो परफेक्ट बाइनरी ट्री में स्तरों की संख्या दर्शाता है। इस परफेक्ट बाइनरी ट्री में पत्ती नोड्स को 1 से n तक संख्या दी गई है। जहां n पत्ती नोड्स की संख्या है। पैरेंट नोड बच्चों का योग है। हमारा कार्य इस परफेक्ट बाइनरी ट्री के सभी नोड्स का योग प्रिंट करने

  1. - पायथन रेगेक्स का उपयोग करके दी गई स्ट्रिंग में 10+1 के सभी पैटर्न खोजना

    समस्या विवरण हमें दी गई स्ट्रिंग में रेगेक्स पैटर्न 10+1 ढूंढना है। इसके लिए हम पायथन में उपलब्ध re मॉड्यूल का उपयोग कर सकते हैं। इस पैकेज में एक मेथड होता है जिसे findall कहा जाता है जो रेगेक्स और वह स्ट्रिंग स्वीकार करता है जिसमें हम खोजना चाहते हैं। यह हमें उस स्ट्रिंग में पैटर्न की सभी घटनाएं दे