Найти в тексте наибольшее количество идущих подряд одинаковых символов - C (СИ)
Формулировка задачи:
дан текст найти наибольшее количество идущих подряд одинаковых символов
Решение задачи: «Найти в тексте наибольшее количество идущих подряд одинаковых символов»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
const int N = 20;
int main()
{
int i, x = 1, max = 0;
char A[20] = "aaaffffrytnnggggggjf";
for(i = 0; i < N; ++i){
if(A[i] == A[i - 1])
++x;
else
x = 1;
if(x > max)
max = x;
}
printf("%d\n", max);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и для работы с целочисленными значениями.
- Установка константы N, которая ограничивает количество символов в тексте.
- Создание основной функции программы - функции main.
- Объявление переменных:
- i - счетчик символов в тексте;
- x - счетчик одинаковых символов;
- max - переменная для хранения наибольшего количества одинаковых символов.
- Задание текста в виде массива символов A.
- В цикле проходим по всем символам текста, начиная с первого и заканчивая предпоследним (N-1).
- Проверяем, является ли текущий символ таким же, как предыдущий.
- Если символы одинаковые, увеличиваем значение переменной x на 1.
- Если символы разные, сбрасываем значение переменной x до 1.
- Проверяем, является ли текущее значение переменной x больше, чем значение переменной max.
- Если значение переменной x больше, чем значение переменной max, присваиваем переменной max значение x.
- Выводим на экран значение переменной max.
- Завершение работы программы.