Cho chuỗi str và chuỗi con sub_str, tìm chỉ số tất cả lần xuất hiện sub_str trong str. str="aabbababaabbbabbaaabba", sub_str="abb", chỉ số 1 9 13 18.
Giải quyết: dùng substr() C++ STL. Hàm lấy vị trí bắt đầu và độ dài chuỗi con, nếu khớp sub_str trả vị trí.
Ví dụ mã nguồn
#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); } Kết quả
Substrings are present at: 1 9 13 18