Найти все различные слова, указав для каждого из них число его вхождений в последовательность - C (СИ)
Формулировка задачи:
Здравствуйте, я новичок. Как решить эту задачу без использования подпрограмм?
Дана непустая последовательность слов (не более 30), в каждом слове не более восьми строчных латинских букв. Слова разделены запятой, за последним словом точка. Найти все различные слова, указав для каждого из них число его вхождений в последовательность.
Решение задачи: «Найти все различные слова, указав для каждого из них число его вхождений в последовательность»
textual
Листинг программы
int r=0;
while (r<i-1&& r>=0)
{if (strcmp(s[i], s[r]) != 0) r++;
else
return k;}
return 1;
Объяснение кода листинга программы
В этом коде выполняется поиск повторяющихся слов в строке s[] и подсчитывается их количество.
- Инициализируется счетчик
rравным 0. - Запускается цикл
while, который будет выполняться до тех пор, покаrменьшеi-1и больше или равно 0. - В каждой итерации цикла сравнивается текущее слово
s[i]с предыдущимs[r]. Если они не равны, тоrувеличивается на 1. - Если слова равны, то возвращается значение
k. Предполагается, чтоkсодержит количество вхождений предыдущего слова. - Если цикл закончился и
kне было возвращено, то возвращается 1. Это означает, что текущее слово было пропущено.