Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
структуры и алгоритмы / Лекции_лабор_структ.doc
Скачиваний:
56
Добавлен:
04.06.2015
Размер:
2.98 Mб
Скачать

9.3 Строки

1. Дана строка символов. Подсчитать, сколько раз среди символов строки встречается буква х.)

2. Дана строка символов; подсчитать:

а) сколько раз среди данных символов встречается символ + и сколько раз символ *;

б) общее число вхождений символов +, , * в заданную строку.

3. Дана строка символов; преобразовать ее, заменив:

а) все восклицательные знаки точками ;

б) каждую точку многоточием (т. е. тремя точками);

в) каждую из групп стоящих рядом точек одной точкой;

г) каждую из групп стоящих рядом точек многоточием (т. е. тремя точками).

4. Дана строка символов . Выяснить, имеются ли в последовательноститакие члены последовательности,, что- это запятая, а- тире.

5. Дана строка символов . Получить первое натуральноеi , для которого каждый из символов исовпадает с буквойа. Если такой пары символов в последовательности нет, то ответом должно быть число 0.

6. Дана строка символов . Известно, что средиесть по крайней мере одна запятая. Найти такое натуральноеi, что:

а) - первая по порядку запятая;

б) - последняя по порядку запятая.

7. Дана строка символов . Известно, что символотличен от восклицательного знака и что средиесть по крайней мере один восклицательный знак. Пусть- символы данной последовательности, предшествующие первому восклицательному знаку (n заранее неизвестно).

а) Определить количество пробелов среди .

б) Выяснить, входит ли в последовательность букваю.

в) Выяснить, верно ли, что среди имеются все буквы, входящие в словошина.

г) Выяснить, имеется ли среди пара соседствующих буквно или он.

д) Выяснить, имеется ли среди пара соседствующих одинаковых символов.

е) Выяснить, верно ли, что существуют такие натуральные i и j, что 1<i<j<n и совпадает с, а -с .

8. Дана строка символов. Удалить из данной последовательности все группы букв abcd.

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

10. Дана строка символов, среди которых есть двоеточие.

а) Получить все символы, расположенные до первого двоеточия включительно.

б) Получить все символы, расположенные после первого двоеточия.

в) Получить все символы, расположенные между первым и вторым двоеточием. Если первого двоеточия нет, то получить все символы, расположенные после единственного имеющегося двоеточия.

11. Дана строка символов.

а) Подсчитать наибольшее количество идущих подряд пробелов.

б) Выяснить, верно ли, что в последовательностиимеется пять идущих подряд букве.

12. Дана строка символов. Определить число вхождений в нее группы букв:

а) abc;

б) aba.

13. Дана строка символов. Заменить в ней каждую группу букв child группой букв children .

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

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

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

17. Дана строка символов (n>1). Преобразовать последовательность , заменив запятыми все двоеточия, встречающиеся среди, и заменив точками все восклицательные знаки, встречающиеся среди.

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

19. Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами.

а) Подсчитать количество слов в данной последовательности.

б) Подсчитать количество букв а в последнем слове данной последовательности.

в) Найти количество слов, начинающихся с буквы б.

г) Найти количество слов, у которых первый и последний символы совпадают между собой.

д) Найти какое-нибудь слово, начинающееся с буквы а.

е) Преобразовать данную последовательность, заменяя всякое вхождение слова это на то.

ж) Найти длину самого короткого слова.

20. Дана строка символов Известно, что символотличен от пробела и что средиимеется хотя бы один пробел. Рассматриваются- символы, предшествующие первому пробелу (n заранее не известно). Преобразовать последовательность :

а) удалив из нее все символы, не являющиеся буквами;

б) заменив все малые буквы одноименными большими;

в) удалив все символы, не являющиеся буквами или цифрами, и заменив каждую большую букву одноименной малой;

г) удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, аb+0.1973-1.1 преобразуется в аb+0.19-1.1);

д) удалив из каждой группы цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка).

21. Дана строка символов . Оставить последовательностьбез изменения, если в нее не входит символ *, иначе каждый символ /, предшествующий первому вхождению символа *:

а) заменить на запятую

б) удалить из последовательности.

22. Дана строка символов . Если последовательностьявляется палиндромом, т.е.s1=sn, s2=sn-1 то оставить ее без изменения, иначе получить последовательность s1, s2, ..., sn-1, sn, sn-1, ..., s2, s1.

23. Дана строка символов . Если последовательностьтакова, чтоs1=s34, s2=s35, ... ,s33=s66, то оставить ее без изменения, иначе получить последовательность s1, s2, ..., s66, s1, s2, ..., s66 .

24. Дана строка символов . Определить количество неверных равенств среди:

а) s1=s41, s2=s42, ... , s40=s80;

б) s1=s80, s2=s79, ... , s40=s41.

25. Дана строка символов. Будем рассматривать слова, образованные символами, входящими в последовательность s1, ... , sn , считая при этом, что количество символов в каждом слове не превосходит 15.

а) Найти какое-нибудь слово, оканчивающееся буквой д (если таких слов нет, то сообщить об этом).

б) Найти какое-нибудь слово, начинающееся буквой а и оканчивающееся буквой я (если таких слов нет, то сообщить об этом).

в) Удалить из s1, ... , sn все слова с нечетными порядковыми номерами и перевернуть все слова с четными номерами. Например, если n=21 и данная последовательность символов представляет собой последовательность

во_что_бы_то_ни_стало,

то должна получиться последовательность

отч_от_олатс.

г) Удалить из s1, ... , sn все слова, в которых встречается не более двух различных букв.

д) Удалить из s1, ... , sn все слова, оканчивающиеся группой букв кая или кое.

Соседние файлы в папке структуры и алгоритмы