Методические указания:
1. Для контроля смежных символов нужно выделить переменные по количеству символов и в конце цикла обработки последовательности выполнять «смещение» группы на символ вперёд по последовательности.
Например, мы следим за тремя смежными символами (“…dfgrretyww…”). Выделяем три переменные c (‘t’), c1 (‘e’), c2 (‘r’). В конце цикла: с2 = с1; с1 = с; , а в с будем вводить новый символ ‘у’. Новая группа смежных символов: c (‘у’), c1 (‘t’), c2 (‘e’).
2. Для контроля за каким-либо прошлым событием можно пользоваться флагами 0 | 1 – было (1) или не было (0) это событие. Например, если нужно помнить, что слово начинается с прописной буквы, установим флаг:
if( c1 == ‘ ‘ && c >= ‘A’ && c <= ‘Z’) flag = 1;
Помните и о необходимости сброса флага (в каком месте программы и по какому условию).
Задания к работе 7. “обработка последовательности символов”
Уровень 2
Внимание! Если это задание вам «не по плечу», то выполняйте задание уровня 1 вашего варианта.
5. *Дана последовательность букв и символов. Определить кол-во троек - смежных букв (a..z), которые располагаются по алфавиту (…adk…, …knp…).
10. *Определить число слов, в которых 1-я буква есть заданная буква с1, a 2-я – первая по алфавиту буква из первого слова.
11. *Определить номер символа, начиная с которого К или более символов расположены по алфавиту.
13. *В последовательности символов найти max длину цепочки символов, расположенных в алфавитном порядке.
18. *Зашифровать в последовательности символов те слова, которые начинаются с заглавной буквы. Правило шифрования: вместо гласной букв от записывать следующую по алфавиту букву, а вместо – предыдущую букву.
21. *Разбить исходный текст без переноса слов на строки длиной не менее 15 символов.
22. *Слова в строке разделены одним или несколькими пробелами. Вывести строку на экран, объединив слова длиной < К со следующим словом.
53. *Определить (по количеству гласных), сколько слов в тексте содержит 1 слог и сколько 2 слога.
57. *Удалить в выражениях из каждой группы идущих подряд цифр все цифры, начиная с третьей (например, АБ + 0.2722 - 2.1 преобразуется в АВ + 0.27 - 2.1).
60. *Найти в тексте наибольшее количество цифр, идущих подряд.
63. *Найти в строке номера слов, в которые заданная буква входит не менее К раз и не является первой.
64. *Определить номера слов, которые длиной не менее М и которые содержат хотя бы одну из букв 'k..s'.
68. *В строке символов найти длину наименьшей цепочки, в которую не входят знаки '+' или '-'.
69. **Из строки удалить все пары заданных символов, если после этой пары символ – не буква и в предыдущем слове скобок не было.
70. *Вывести на экран последнюю букву первых К слов, в которых есть заданная буква С и нет букв из диапазона с1..с2.
ХХ. *Из строки удалить скобки ( ), если в них символ – буква ‘a’…’z’, букву оставить.
ХХ. *В строке слова разделены пробелом. Вывести на экран те слова, перед которыми было слово с одинаковыми первой и последней буквами (В) в виде таблицы: <буква В> <слово>.
ХХ. *Определить самое длинное слово, которое начинается с заданных букв a или b.
ХХ. Задан список группы из К студентов и пять оценок каждого, например: 5 4 4 3 5. Напечатать список группы и средний балл каждого студента: ИВАНОВ 4.2 … …
ХХ. *Найти в строке номера двух слов, с наибольшим числом заданных символов А и В. Поиск выполнять по общему количеству символов А и В.
ХХ. *Определить, первое или последнее слово в строке содержит больше гласных букв.