А812ж

Задача.

Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +, -, *. Группой букв будем называть такую совокупность последовательно расположенных букв, которой непосредственно не предшествует и за которой непосредственно не следует буква. Аналогично определим группу цифр и группу знаков.

Найти самую длинную группу цифр. Если эту наибольшую длину имеет несколько групп, то взять первую по порядку.

Тесты.

Ввод Вывод
1aa2bb+-c2cc—**22 22
11aa2bb+-c2cc—**22 11
1aa2bb+-c23cc—**22 23
111aa2bb+-c2cc—**22 111
1aa2bb+-c234cc—**22 234
1aa221bb+-c234cc—**22 221

Код программы (string):

Код программы (cstring):

Решение.

Вводим строку в переменную s. В первом цикле ищем наибольшую группу записывая значение в переменную n. В следующем цикле ищем номер первого символа в группе записывая значение в переменную a. В третьем цикле выводим символы с номерами с a-го по a+n.

Ковальський Олександр Дмитрович
Ковальський Олександр Дмитрович

Latest posts by Ковальський Олександр Дмитрович (see all)

2 thoughts on “А812ж

  1. Код программы(string): ideone
    Код программы(cstring): ideone
    Решение: Сначала заводим переменную s, в эту переменную записываем строку.
    После заводим переменные k, n, a. Пременная k будет счётчиком, в n позже будет записанна максимальнная длина группы, a переменная а будет номером первого элемента в максимальной группе. В первом цикле проверяем, если символ с данным номером будет цифрой, то увеличиваем счётчик на 1. Также проверяем, если значение счётчика становится больше n, то n присваиваем значение k. К концу цикла в переменной k будем иметь значение количества элементов в наибольшей группе. В следующем цикле начинаем с последнего элемента(это делаем для того, чтобы получить первую максимальнную группу). В цикле ищем то место, когда счётчик будет равен n, и в этом месте переменной а присваиваем значение i+1. В следующем цикле выводим значение сначиная с а, n символов.

Добавить комментарий