Задана строка подсчитать количество вхождении самого часто встречающегося слова в этом строке - C (СИ)
Формулировка задачи:
Задана строка подсчитать количество вхождении самого часто встречающегося слова в этом строке
Решение задачи: «Задана строка подсчитать количество вхождении самого часто встречающегося слова в этом строке»
textual
Листинг программы
#include <stdlib.h> #include <windows.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char s1[200],s0[200]; int i, j, s, l; printf("Введите первую строку:"); gets(s1); printf("Введите подстроку:"); gets(s0); if (strlen(s0) > strlen(s1)) { printf("Количество вхождений: 0"); return 0; } for(i = 0, j = 0, s = 0, l = 0; i <= strlen(s1); i++) { if(s1[i] == s0[j]) { s++; j++; } else { s = 0; j = 0; } if(s == strlen(s0)) { l++; s = 0; j = 0; } } if (s1 [strlen(s1)] == s0[0]) { l--; } printf("Количество вхождений подстроки = %d",l); return 0; }
Объяснение кода листинга программы
Выполняемый код на языке C выполняет следующие действия:
- Устанавливает кодировку консоли на Windows-1251.
- Объявляет массивы строк s1 и s0 для ввода пользователем строки и подстроки соответственно.
- Устанавливает начальные значения переменных i, j, s и l равными нулю.
- Запрашивает у пользователя ввод первой строки и подстроки.
- Проверяет, является ли длина подстроки больше длины первой строки, и выводит сообщение, если это так.
- Использует цикл for для сравнения символов первой строки с символами подстроки.
- Если символы совпадают, увеличивает счетчик s на единицу и увеличивает счетчик j на единицу.
- Если символы не совпадают, сбрасывает счетчики s и j до нуля.
- Если длина подстроки равна длине строки, увеличивает счетчик l на единицу и сбрасывает счетчики s и j до нуля.
- После прохода по всем символам первой строки, проверяет, является ли последний символ первой строки равным первому символу подстроки, и уменьшает счетчик l на единицу, если это так.
- Выводит количество вхождений подстроки.
- Завершает программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д