fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. // Вводим исходную строку и подстроку
  5. char str[] = "aabbbcab";
  6. char substr[] = "ab";
  7.  
  8. // Инициализируем счётчик повторений подстроки
  9. int count = 0;
  10.  
  11. // Находим все вхождения подстроки в строку
  12. for (int i = 0; i < strlen(str); i++) {
  13. if (str[i] == substr[0]) {
  14. // Если текущий символ строки совпадает с первым символом подстроки,
  15. // проверяем остальные символы
  16. int j = 1;
  17. while (j < strlen(substr) && str[i + j] == substr[j]) {
  18. j++;
  19. }
  20.  
  21. if (j == strlen(substr)) {
  22. // Если подстрока полностью совпала с частью строки, увеличиваем счётчик
  23. count++;
  24. i += j - 1; // Переходим к следующему символу после совпадения
  25. }
  26. }
  27. }
  28.  
  29. // Выводим результат
  30. printf("Количество повторений подстроки '%s' в строке '%s': %d\n", substr, str, count);
  31.  
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0.01s 5276KB
stdin
Standard input is empty
stdout
Количество повторений подстроки 'ab' в строке 'aabbbcab': 2