Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ЗАДАНИЕ 6.15 (2)
- // Дана строка. Подсчитать самую длинную последовательность
- // подряд идущих одинаковых букв.
- #include <iostream> // Для ВВОДА и ВЫВОДА
- #include <string> // Для string
- using namespace std; // ПРОСТРАНСТВО ИМЁН
- int main() {
- // Ввод строки
- string str;
- cout << "Enter string: ";
- getline(cin, str);
- // Счетчик символов в слове
- int count;
- // Максимальное значение
- int max;
- // Если первый символ не буква
- if (str[0] < 65 || str[0] > 122 || (str[0] > 90 && str[0] < 97)) {
- // То счетчик начнется с 0
- count = 0;
- max = 0;
- } else {
- // Иначе начнется с 1
- count = 1;
- max = 1;
- }
- // Перебор символов вводимой строки
- for (int i = 1; str.length() > i; i++) {
- // Если это не буква
- if (str[i] < 65 || str[i] > 122 || (str[i] > 90 && str[i] < 97)) {
- // Если последняя последовательность
- // была больше наибольшей предыдущей
- if (count > max) {
- max = count;
- }
- count = 0;
- continue;
- }
- // Если эта буква прерывает последовательность
- if (str[i] != str[i - 1]) {
- // Если последняя последовательность
- // была больше наибольшей предыдущей
- if (count > max) {
- max = count;
- }
- count = 1;
- continue;
- }
- count++;
- }
- // Вывод результата
- cout << "Max count: " << max << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement