fork(2) download
  1. #include <iostream>
  2.  
  3. //подсчёт вхождения подстрок
  4. size_t count_sub(const char* s1, const char* s2){
  5. const char* p1, *p2;
  6. size_t n = 0;
  7.  
  8. while(*s1){
  9. p1 = s1;
  10. p2 = s2;
  11. while(*p2 && (*p2 == *p1)){
  12. ++p1;
  13. ++p2;
  14. }
  15.  
  16. if(! *p2){
  17. ++n;
  18. s1 = p1;
  19. } else
  20. ++s1;
  21. }
  22. return n;
  23. }
  24.  
  25.  
  26. int main(void){
  27. char s1[] = "привет (припри) как при";
  28. char s2[] = "при";
  29.  
  30. std::cout << "count: " << count_sub(s1, s2) << std::endl;
  31. return 0;
  32. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
count: 4