Подсчитать количество сдвоенных символов "сс", "нн", "лл" в тексте, расположенном в текстовом файле - C (СИ)
Формулировка задачи:
Пожалуйста) Подсчитать количество сдвоенных символов сс, нн, лл в тексте, расположенном в текстовом файле.
Решение задачи: «Подсчитать количество сдвоенных символов "сс", "нн", "лл" в тексте, расположенном в текстовом файле»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = "annslvllldsacccfvcnccmcccgnnjtylghccccccmmhgfnnnnnuiolllllllnnn";
int cc = 0, nn = 0, ll = 0, i = 1, y = 0;
while(str[i]){
if(str[i] == 'c' && str[i - 1] == 'c'){
y = 1;
while(str[i] == 'c'){
++y;
++i;
}
cc += (y / 2);
}
if(str[i] == 'l' && str[i - 1] == 'l'){
y = 1;
while(str[i] == 'l'){
++i;
++y;
}
ll += (y / 2);
}
if(str[i] == 'n' && str[i - 1] == 'n'){
y = 1;
while(str[i] == 'n'){
++y;
++i;
}
nn += (y / 2);
}
++i;
}
printf("cc = %d, ll = %d, nn = %d.\n", cc, ll, nn);
return 0;
}
Объяснение кода листинга программы
В этом коде осуществляется подсчет количества сдвоенных символов сс, нн, лл в тексте, расположенном в текстовом файле.
Список действий:
- Ввод данных:
- В качестве исходных данных используется строка
annslvllldsacccfvcnccmcccgnnjtylghccccccmmhgfnnnnnuiolllllllnnn, которая копируется в переменнуюstr. - Инициализируются переменные
cc,nn,ll,iиyдля подсчета количества и определения парных символов.
- В качестве исходных данных используется строка
- Основной цикл:
- Цикл
whileпроходит по каждому символу в строкеstr. - Внутри цикла проверяются три условия для определения парных символов:
cc,nnиll. - Если текущий символ равен
cи предыдущий символ также равенc, то это означает, что найден парный символcc. Переменнаяyустанавливается в 1, и затем увеличивается на 1 для каждого следующегоcдо тех пор, пока не будет найден другой символ. После этого значениеyделится на 2 и добавляется кcc. - Аналогично для
llиnn. - После каждой итерации увеличивается значение
i, чтобы перейти к следующему символу.
- Цикл
- Вывод результатов:
- После завершения цикла
whileвыводится сообщение с подсчитанными значениямиcc,llиnn. - Код завершается возвратом значения 0, что означает успешное выполнение программы.
- После завершения цикла