Определить, сколько раз в строке встречается заданное слово - C (СИ)
Формулировка задачи:
4,3) Определить, сколько раз в строке встречается заданное слово
Решение задачи: «Определить, сколько раз в строке встречается заданное слово»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define ARRAY_SIZE 500 #define WORD_SIZE 20 int main ( void ) { char sequenceArray[ARRAY_SIZE] = ""; char wordArray[WORD_SIZE] = ""; signed short counterA = 0, counterB = 0, counterC = 0; signed char currentCharacter, word = 0; puts( "Enter search word: "); fflush( stdout ); fgets( wordArray, WORD_SIZE, stdin ); wordArray[strlen(wordArray) - 1] = 0; puts( "Enter sequence in which search the word" ); fflush( stdout ); while ((currentCharacter = getchar()) != EOF && counterA < ARRAY_SIZE - 1 ) { sequenceArray[counterA++] = currentCharacter; } sequenceArray[counterA] = '\0'; for ( counterB = 0; counterB < counterA; ++counterB ) { if ( counterC == strlen( wordArray)) { ++word; counterC = 0; } if ( sequenceArray[counterB] == wordArray[counterC]) ++counterC; else counterC = 0; } printf( "\n%s%-2hi%s\n", "The word was found ", word, "times" ); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены массив символов
sequenceArray
для хранения последовательности символов и переменнаяcounterA
для подсчета количества символов в последовательности. - Пользователю предлагается ввести искомое слово.
- Пользователю предлагается ввести последовательность, в которой нужно искать слово.
- В цикле, пока не достигнут конец файла и количество символов в последовательности меньше ARRAY_SIZE, происходит добавление символов в
sequenceArray
. - В конце цикла добавляется нулевой символ в
sequenceArray
. - В цикле, начиная с 0 символа последовательности, проверяется каждый символ на равенство с текущим символом искомого слова. Если символы совпадают, увеличивается счетчик
counterC
. Если символы не совпадают, счетчикcounterC
сбрасывается до 0. - В конце программы выводится количество вхождений искомого слова в последовательность.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д