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

C++ में एक स्ट्रिंग की दूसरी स्ट्रिंग में सभी घटनाओं के इंडेक्स ढूंढें


मान लीजिए हमारे पास स्ट्रिंग str है, और एक और सबस्ट्रिंग sub_str है, हमें str में sub_str की सभी घटनाओं के इंडेक्स ढूंढने हैं। मान लीजिए str "aabbababaabbbabbaaabba" है, और sub_str "abb" है, तो इंडेक्स 1 9 13 18 होंगे।

इस समस्या को हल करने के लिए, हम C++ STL में substr() फंक्शन का उपयोग कर सकते हैं। यह फंक्शन प्रारंभिक स्थिति लेता है जहां से यह जांच शुरू करेगा, और सबस्ट्रिंग की लंबाई, यदि वह sub_str के समान है, तो स्थिति वापस करता है।

उदाहरण

#include 
using namespace std;

void substrPosition(string str, string sub_str) {
    bool flag = false;
    for (int i = 0; i < str.length(); i++) {
        if (str.substr(i, sub_str.length()) == sub_str) {
            cout << i << " ";
            flag = true;
        }
    }
    if (flag == false)
        cout << "NONE";
}

int main() {
    string str = "aabbababaabbbabbaaabba";
    string sub_str = "abb";
    cout << "Substrings are present at: ";
    substrPosition(str, sub_str);
}

आउटपुट

Substrings are present at: 1 9 13 18

  1. - C++ प्रोग्राम: शब्दकोश में विशिष्ट पैटर्न से मेल खाने वाली सभी स्ट्रिंग्स ज्ञात करना

    मान लें हमारे पास स्ट्रिंग्स की एक सूची है जिसे शब्दकोश कहा जाता है। हमारे पास एक अन्य पैटर्न स्ट्रिंग है। हमारा कार्य उन स्ट्रिंग्स को ज्ञात करना है जो पैटर्न से मेल खाती हैं। मान लें शब्दकोश [abb, xyz, aab, kmm] की तरह है, और पैटर्न stt है, तो परिणाम abb और kmm होंगे। चूंकि पैटर्न में पहले एक अक्ष

  1. - C++ में स्ट्रिंग में एक अतिरिक्त वर्ण ढूंढना

    मान लीजिए हमारे पास दो स्ट्रिंग्स S और T हैं, S की लंबाई n है, और T की लंबाई n+1 है। T में वे सभी वर्ण होंगे जो S में मौजूद हैं, लेकिन इसमें एक अतिरिक्त वर्ण होगा। हमारा कार्य कुछ कुशल दृष्टिकोण का उपयोग करके अतिरिक्त वर्ण ढूंढना है। इस समस्या को हल करने के लिए, हम एक खाली हैश टेबल लेंगे, और दूसरी

  1. - पायथन में स्ट्रिंग S के सभी एनाग्राम्स के T में शुरुआती इंडेक्स ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स S और T हैं, हमें T में S के सभी एनाग्राम्स के शुरुआती इंडेक्स ढूंढने हैं। स्ट्रिंग्स में केवल लोअरकेस अक्षर होते हैं और दोनों स्ट्रिंग्स S और T की लंबाई 20 और 100 से अधिक नहीं होगी। तो, अगर इनपुट है S = cab T = bcabxabc, तो आउटपुट [0, 1, 5] होगा, क्योंकि सबस्ट्रिं