#include <iostream>
//подсчёт вхождения подстрок
size_t count_sub(const char* s1, const char* s2){
const char* p1, *p2;
size_t n = 0;
while(*s1){
p1 = s1;
p2 = s2;
while(*p2 && (*p2 == *p1)){
++p1;
++p2;
}
if(! *p2){
++n;
s1 = p1;
} else
++s1;
}
return n;
}
int main(void){
char s1[] = "привет (припри) как при";
char s2[] = "при";
std::cout << "count: " << count_sub(s1, s2) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy/Qv9C+0LTRgdGH0ZHRgiDQstGF0L7QttC00LXQvdC40Y8g0L/QvtC00YHRgtGA0L7QugpzaXplX3QgY291bnRfc3ViKGNvbnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMil7Cgljb25zdCBjaGFyKiBwMSwgKnAyOwoJc2l6ZV90IG4gPSAwOwoKCXdoaWxlKCpzMSl7CgkJcDEgPSBzMTsKCQlwMiA9IHMyOwoJCXdoaWxlKCpwMiAmJiAoKnAyID09ICpwMSkpewoJCQkrK3AxOwoJCQkrK3AyOwoJCX0KCgkJaWYoISAqcDIpewoJCQkrK247CgkJCXMxID0gcDE7CgkJfSBlbHNlCgkJCSsrczE7Cgl9CglyZXR1cm4gbjsKfQoKCmludCBtYWluKHZvaWQpewoJY2hhciBzMVtdID0gItC/0YDQuNCy0LXRgiAo0L/RgNC40L/RgNC4KSDQutCw0Log0L/RgNC4IjsKCWNoYXIgczJbXSA9ICLQv9GA0LgiOwoKCXN0ZDo6Y291dCA8PCAiY291bnQ6ICIgPDwgY291bnRfc3ViKHMxLCBzMikgPDwgc3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=