Определить, сколько раз в строке встречается заданное слово - 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. - В конце программы выводится количество вхождений искомого слова в последовательность.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д