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

C++ में '1' से शुरू और '1' पर खत्म होने वाले सबस्ट्रिंग्स की संख्या गिनने का प्रोग्राम लिखें


मान लीजिए हमारे पास स्ट्रिंग 'str' की लंबाई और एक स्ट्रिंग दी गई है। कार्य दिए गए बाइनरी स्ट्रिंग में उन सबस्ट्रिंग्स की संख्या गिनना है जो '1' से शुरू होती हैं और '1' पर खत्म होती हैं। एक बाइनरी स्ट्रिंग में केवल '1' और '0' होते हैं। उदाहरण के लिए,

इनपुट-1 -

N = 5 str = '11101'

आउटपुट -

6

व्याख्या - दी गई बाइनरी स्ट्रिंग में, हमारे पास 6 सबस्ट्रिंग्स हैं जो '1' से शुरू होती हैं और '1' पर खत्म होती हैं। इन सबस्ट्रिंग्स का सेट {'11', '111', '1110', '11101', '1101', '101'} है।

इनपुट-1 -

N = 4 str = '0011'

आउटपुट -

1

व्याख्या -

दी गई बाइनरी स्ट्रिंग में हमारे पास 1 सबस्ट्रिंग है जो '1' से शुरू होती है और '1' पर खत्म होती है। इन सबस्ट्रिंग्स का सेट एक सिंगलटन सेट है यानी, {'11'}।

इस प्रॉब्लम को हल करने के लिए उपयोग किया गया दृष्टिकोण

दी गई स्ट्रिंग के लिए, हमें उन सबस्ट्रिंग्स की संख्या गिननी है जो '1' से शुरू होती हैं और '1' पर खत्म होती हैं। यह प्रॉब्लम प्रसिद्ध हैंडशेक प्रॉब्लम के समान है जिसमें हमें 'n' लोगों की पार्टी में हैंडशेक की संख्या गिननी होती है।

यदि हम दी गई स्ट्रिंग में 1 की संख्या गिनते हैं, तो हम उन सबस्ट्रिंग्स का सेट ढूंढ सकते हैं जो '1' से शुरू होती हैं और '1' पर खत्म होती हैं।

  • N लंबाई की एक स्ट्रिंग का इनपुट लें।

  • एक पूर्णांक फंक्शन countSubstring(int N, string s) स्ट्रिंग की लंबाई और एक स्ट्रिंग को इनपुट के रूप में लेता है और उन सभी सबस्ट्रिंग्स की गिनती लौटाता है जो '1' से शुरू होती हैं और '1' पर खत्म होती हैं।

  • पूरी स्ट्रिंग पर पुनरावृति करें और स्ट्रिंग में '1' की संख्या गिनें।

  • दिए गए स्ट्रिंग में सबस्ट्रिंग्स (जोड़े) की संख्या n*(n-1)/2 द्वारा गिनें।

  • n*(n-1)/2 का परिणाम लौटाएं।

उदाहरण

#include <iostream>
using namespace std;

int countSubstring(int N, string s) {
    int count = 0;
    for (int i = 0; s[i] != '\0'; ++i) {
        if (s[i] == '1')
            count++;
    }
    return count * (count - 1) / 2;
}

int main() {
    int N = 5;
    string str = "11101";
    cout << countSubstring(N, str) << endl;
    return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाएंगे तो यह आउटपुट के रूप में प्रिंट करेगा,

6

चूंकि दी गई स्ट्रिंग में मौजूद '1' की संख्या '4' है यानी, काउंट = 4, '1' से शुरू और '1' पर खत्म होने वाली सबस्ट्रिंग्स की कुल संख्या हैं, 4*(4-1)/2 = 6।


  1. - C++ कोड: संख्यात्मक स्ट्रिंग के सम सबस्ट्रिंग की गणना करें

    मान लीजिए हमारे पास n अंकों का एक स्ट्रिंग S है। S का एक सबस्ट्रिंग सम कहा जाता है यदि इस स्ट्रिंग द्वारा दर्शाई गई संख्या भी सम है। हमें S के सम सबस्ट्रिंग की संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट S = 1234 है, तो आउटपुट 6 होगा, क्योंकि सबस्ट्रिंग हैं 2, 4, 12, 34, 234, 1234।इसे हल करने के लिए,

  1. - C++ प्रोग्राम: सीढ़ियों की संख्या और प्रत्येक सीढ़ी में चरणों की संख्या गिनें

    मान लीजिए हमारे पास n तत्वों वाला एक सरणी A है। मान लें, अमल एक बहुमंजिला इमारत के अंदर सीढ़ियां चढ़ता है। हर बार जब वह चढ़ता है, तो 1 से गिनती शुरू करता है। उदाहरण के लिए, यदि वह 3 चरणों और 4 चरणों वाली दो सीढ़ियां चढ़ता है, तो वह 1, 2, 3, 1, 2, 3, 4 जैसे संख्या बोलेगा। सरणी A में, संख्याएं अमल द्

  1. C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

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