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

C++ में दी गई स्ट्रिंग में लंबाई तीन के सबसीक्वेंस की गिनती


हमें एक स्ट्रिंग str और लंबाई 3 की एक सबस्ट्रिंग sub_str दी गई है। लक्ष्य str में sub_str के सबसीक्वेंस की संख्या ज्ञात करना है। उदाहरण "act" "cataract" में तीन बार है (cataract, cataract, cataract)।

उदाहरण सहित समझ

इनपुट - str="settlement" sub_str="set"

आउटपुट - दी गई स्ट्रिंग में लंबाई तीन के सबसीक्वेंस की संख्या: 5

व्याख्या - सबसीक्वेंस होंगे:

1. set tlement, 2. se t t lement, 3. se ttlemen t, 4. s ettl e men t, 5. settlem e n t

इनपुट - str="knowledge" sub_str="now"

आउटपुट - दी गई स्ट्रिंग में लंबाई तीन के सबसीक्वेंस की संख्या: 1

व्याख्या - सबसीक्वेंस होंगे: know ledge

प्रोग्राम में उपयोग किया गया दृष्टिकोण

हम फॉर लूप का उपयोग करके स्ट्रिंग str को ट्रैवर्स करेंगे। यदि कोई str[i] == sub_str[0] है तो अगले वर्ण sub_str[1] की तुलना str[current i to i से करें, यदि इंडेक्स j पर मिलान मिलता है, तो अंतिम वर्ण sub_str[2] की तुलना str[current j to j से करें। यदि दोनों मिलान मिलते हैं, तो काउंट बढ़ाएँ।

  • स्ट्रिंग को str और सबस्ट्रिंग को sub_str के रूप में लें।
  • फंक्शन subset_occurrence(string str, int length, string sub_str) स्ट्रिंग लेता है और str में sub_str के समान सबसीक्वेंस की संख्या लौटाता है।
  • फॉर लूप का उपयोग करके str को ट्रैवर्स करें। i=0 से i<length तक।
  • यदि कोई str[i] == sub_str[0], पहला वर्ण मिला। अगले की जांच j=i+1 से j<length तक करें।
  • यदि कोई str[j] == sub_str[1], दूसरा वर्ण मिला। अगले की जांच k=j+1 से k<length तक करें।
  • यदि str[k] == sub_str[2]। काउंट बढ़ाएँ।
  • परिणाम के रूप में काउंट लौटाएँ।

उदाहरण

#include <iostream>
using namespace std;

int subset_occurrence(string str, int length, string sub_str) {
    int count = 0;
    for (int i = 0; i < length; i++) {
        if (str[i] == sub_str[0]) {
            for (int j = i + 1; j < length; j++) {
                if (str[j] == sub_str[1]) {
                    for (int k = j + 1; k < length; k++) {
                        if (str[k] == sub_str[2]) {
                            count++;
                        }
                    }
                }
            }
        }
    }
    return count;
}

int main() {
    string str = "TUTpoinTUTpoinTUT";
    int length = str.length();
    string sub_str = "TUT";
    cout << "Count of subsequence of length three in a given string are: " << subset_occurrence(str, length, sub_str);
    return 0;
}

आउटपुट

Count of subsequence of length three in a given string are: 19
  1. - C++ में एक पैलिंड्रोमिक स्ट्रिंग B ढूंढें जिससे दी गई स्ट्रिंग A, B का उपअनुक्रम हो

    मान लीजिए हमारे पास एक स्ट्रिंग A है, हमें दूसरी स्ट्रिंग B ढूंढनी है, जो पैलिंड्रोम होगी। और दी गई स्ट्रिंग A, B का उपअनुक्रम होगी। एक स्ट्रिंग का उपअनुक्रम एक स्ट्रिंग है जिसे शेष वर्णों का क्रम बदले बिना कुछ वर्णों को हटाकर बनाया जा सकता है। मान लीजिए स्ट्रिंग cotst है, तो उत्पन्न स्ट्रिंग contes

  1. - C++ में एक स्ट्रिंग के सबसे लंबे उपअनुक्रम की लंबाई ज्ञात करें जो दूसरी स्ट्रिंग का उपस्ट्रिंग हो

    मान लीजिए, हमारे पास दो स्ट्रिंग्स X और Y हैं, और हमें स्ट्रिंग X के सबसे लंबे उपअनुक्रम की लंबाई ढूंढनी है, जो अनुक्रम Y में उपस्ट्रिंग है। इसलिए यदि X = ABCD और Y = BACDBDCD, तो आउटपुट 3 होगा। क्योंकि ACD X का सबसे लंबा उप-अनुक्रम है, जो Y का उपस्ट्रिंग है। यहां हम इस समस्या को हल करने के लिए डायन

  1. - C++ में जांचें कि दी गई स्ट्रिंग सम-स्ट्रिंग है या नहीं

    यहां हम देखेंगे कि कोई स्ट्रिंग सम-स्ट्रिंग (sum-string) है या नहीं, इसकी जांच कैसे करें। एक स्ट्रिंग को सम-स्ट्रिंग कहा जाता है यदि इसका सबसे दायां सबस्ट्रिंग, उससे पहले के दो सबस्ट्रिंग के योग के रूप में लिखा जा सकता है, और यही नियम उससे पहले के सबस्ट्रिंग के लिए पुनरावर्ती रूप से सत्य होता है। मा