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