मान लीजिए कि हमारे पास स्ट्रिंग स्ट्र है, और एक अन्य सबस्ट्रिंग सब_स्ट्र है, हमें स्ट्र में सब_स्ट्र की सभी घटनाओं के लिए इंडेक्स ढूंढना होगा। मान लीजिए कि str "aabbababaabbbabbaaabba" है, और sub_str "abb" है, तो सूचकांक 1 9 13 18 होंगे।
इस समस्या को हल करने के लिए, हम C++ STL में सबस्ट्र () फ़ंक्शन का उपयोग कर सकते हैं। यह फ़ंक्शन प्रारंभिक स्थिति लेता है जहां से यह जांच शुरू करेगा, और सबस्ट्रिंग की लंबाई, यदि वह सब_स्ट्र के समान है, तो स्थिति लौटाती है।
उदाहरण
#include<iostream>
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