मान लीजिए कि हमारे पास स्ट्रिंग स्ट्र है, और एक अन्य सबस्ट्रिंग सब_स्ट्र है, हमें स्ट्र में सब_स्ट्र की सभी घटनाओं के लिए इंडेक्स ढूंढना होगा। मान लीजिए कि 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