Оглавление

§8 Обработка последовательностей символов


    251 Даны натуральное число n, символы s1 ,..., sn. Подсчитать, сколько раз среди данных символов встречается буква x. (Строковый вариант: дана строка символов; подсчитать, сколько раз среди символов строки встречается буква x.)

    252 Даны натуральное число n, символы s1 ,..., sn. Подсчитать:
      а) сколько раз среди данных символов встречается символ + и сколько раз символ *;
      б) общее число вхождений символов + , - , * в последовательность s1 ,..., sn.

    253 Даны натуральное число n, символы s1 ,..., sn. Преобразовать последовательность s1 ,..., sn, заменив в ней:
      а) все восклицательные знаки точками;
      б) каждую точку многоточием (т.е. тремя точками);
      в) каждую из групп стоящих рядом точек одной точкой;
      г) каждую из групп стоящих рядом точек многоточием (т.е. тремя точками).

    254 Даны натуральное число n , символы s1 ,..., sn. Выяснить, имеются ли в последовательности s1 ,..., sn такие члены последовательности si , si+1, что si - это запятая, а si+1 - тире.

    255 Даны натуральное число n , символы s1 ,..., sn. Получить первое натуральное i, для которого каждый из символов si и si+1 совпадает с буквой a. Если такой пары символов в последовательности s1 ,..., sn нет, то ответом должно быть число 0.

    256 Даны натуральное число n , символы s1 ,..., sn. Известно, что среди s1 ,..., sn есть по крайней мере одна запятая. Найти такое натуральное i, что
      а) si - первая по порядку запятая;
      б) si - последняя по порядку запятая.

    257 Даны символы s1, s2,... Известно, что символ s1 отличен от восклицательного знака и что среди s2, s3,... есть по крайней мере один восклицательный знак. Пусть s1,..., sn - символы данной последовательности, предшествующие первому восклицательному знаку (n заранее неизвестно).
      а) Определить количество пробелов среди s1 ,..., sn.
      б) Выяснить, входит ли в последовательность s1 ,..., sn буква ю
      в) Выяснить, верно ли, что среди s1 ,..., sn имеются все буквы, входящие в слово шина.
      г) Выяснить, имеются ли среди s1 ,..., sn пара соседствующих букв но или он.
      д) Выяснить, имеются ли среди s1 ,..., sn пара соседствующих одинаковых символов.
      е) Выяснить, верно ли, что существуют такие натуральные i и j, что 1 < i < j < n и что si совпадает с si+1 а sj - c sj+1.

    258 Даны натуральное число n, символы s1,...,sn. Удалить из данной последовательности все группы букв вида abcd.

    259 Даны натуральное число n, символы s1,...,sn. Преобразовать последовательность s1,...,sn, удалив каждый символ * и повторив каждый символ, отличный от *.

    260 Даны натьуральное число n, и символы s1,..., sn, среди которых есть двоеточие.
      а) Получить все символы, расположенные до первого двоеточия включительно.
      б) Получить все символы, расположенные после первого двоеточия.
      в) Получить все символы, расположенные между первым и вторым двоеточием. Если второго двоеточия нет, то получить все символы, расположенные после единственного имеющегося двоеточия.

    261 Даны натуральное число n, символы s1,...,sn.
      а) Подсчитать наибольшее количество идущих подряд пробелов.
      б) Выяснить верно ли, что в последовательности s1,...,sn имеются пять идущих подряд букв е.

    262 Даны натуральное число n, символы s1,...,sn. Определить число вхождений а последовательность s1,...,sn групп букв:
      а) abc
      б) aba

    263 Даны натуральное число n, символы s1,...,sn. Заменить в последовательности s1,...,sn каждую группу букв child группой букв children.

    264Даны натуральное число n, символы s1,...,sn. Исключить из последовательности s1,...,sn группы символов, группы символов, расположенные между скобками (,). Сами скобки тожа должны быть исключены. Предпологается, что внутри каждой пары скобок нет других скобок.

    265 Даны натуральное число n, символы s1,...,sn. Преобразовать последовательность s1,...,sn: если нет символа * , то оставить её без изменения, иначе заменить каждый символ, встречающийся после первого вхождения символа * , на символ -.

    266 Даны натуральное число n, символы s1,...,sn, среди которых есть хотябы одна точка. Преобразовать последовательность s1,...,sn, удалив из неё все запятые, предшествующие первой точке, и заменив знаком + все цифры 3, встречающиеся после первой точки.

    267 Даны натуральное число n, символы s1,...,sn (n > 1). Преобразовать последовательность s1,...,sn, заменив запятыми все двоеточия, встречающиеся среди si,...,s[n/2], и заменив точками все восклицательные знаки, встречающиеся среди s[n/2]+1,...,sn.

    268 Даны натуральное число n, символы s1,...,sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела. Требуется преобразовать последовательность s1,...,sn следующим образом. Удалить группы пробелов, которыми начинается и которыми заканчивается последовательность, а так же заменить каждую внутреннюю группу пробелов одним пробелом. Если указанных групп нет в данной последовательности, то оставить последовательность без изменения.

    269 Даны натуральное число n, символы s1,...,sn. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя будем называть словами
      а) Подсчитать количество слов в данной последовательности.
      б) Подсчитать количество букв а в последнем слове данной последовательности.
      в) Найти количество слов, начинающихся с буквы б.
      г) Найти количество слов, у которых первый и последний символы совпадают между собой.
      д) Найти какое-нибудь слово, начинающееся с буквы а.
      е) Преобразовать данную последовательность, заменяя всякое вхождение слова это на слово то.
      ж) Найти длину самого короткого слова.

    270 Даны символы s1,s2,... Известно, что символ s1 отличен от пробела и что среди s2,s3,... имеется хотя бы один пробел. Рассматриваются s1,...,sn - символы, предшествующие первому пробелу (n заранее неизвестно). Преобразовать последовательность s1,..., sn:
      а) удалив из неё все символы, не являющиеся буквами;
      б) заменив все малые буквы одноименными большими;
      в) удалив все символы, не являющиеся буквами или цифрами, и заменив каждую большую букву одноименной малой;
      г) удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, ab+0.1973-1.1 преобразуется в ab+0.19-1.1);
      д) удалив из каждой группы цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка).
Предыдущая глава К началу Следующая глава