Для каждой строки подсчитать число вхождений подстроки “abc” - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Кто поможет с задачей-буду очень благодарен! Ввести массив строк символов (текст), каждая из которых может содержать подстроку “abc”. Для каждой строки подсчитать число вхождений подстроки “abc”. Не пойму как реализовать данный код на СИ.. Знаю, что нужно создать двумерный массив char ** get_txt() используя при этом не scanf, а char* gets(char*)

Решение задачи: «Для каждой строки подсчитать число вхождений подстроки “abc”»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
#define STR_LENGTH 256
#define STR_MASK "%255[^\n]%*c"
 
int meetings_count(const char * str, const char * sub) {
    return ( str = strstr(str, sub) ) ? 1 + meetings_count(str + 1, sub) : 0;
}
 
int main(void) {
    char str[STR_LENGTH], sub[] = "abc";
    
    while ( printf("String: ") && scanf(STR_MASK, str) == 1 )
        printf("%d meetings of string %s\n", meetings_count(str, sub), sub);
    
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы