1. Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.
2. Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b.
3. Дана строка. Подсчитать, сколько в ней букв r, k, t.
4. Дана строка. Определить, сколько в ней символов *,;,:.
5. Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова.
6. Дана строка символов, среди которых есть двоеточие (:). Определить, сколько символов ему предшествует.
7. Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
8. Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *.
9. Дана строка. Определить, сколько раз входит в нее группа букв abc.
10. Дана строка. Подсчитать количество букв k в последнем ее слове.
11. Дана строка. Подсчитать, сколько различных символов встречается в ней. Вывести их на экран.
12. Дана строка. Подсчитать самую длинную последовательность подряд идущих букв а.
13. Дана строка символов, среди которых есть одна открывающаяся и одна закрывающаяся скобка. Вывести на экран все символы, расположенные внутри этих скобок.
14. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.
15. Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить, сколько в нем слов, заканчивающихся буквой а.
16. Дана строка. Указать те слова, которые содержат хотя бы одну букву k.
17. Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой.
18. В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать количество замен.
19. В строке удалить символ «двоеточие» (:) и подсчитать количество удаленных символов.
20. В строке между словами вставить вместо пробела запятую и пробел.
21. Удалить часть символьной строки, заключенной в скобки (вместе со скобками).
22. Определить, сколько раз в строке встречается заданное слово.
23. В строке имеется одна точка с запятой (;). Подсчитать количество символов до точки с запятой и после нее.
24. Дана строка. Преобразовать ее, заменив точками все двоеточия (:), встречающиеся среди первых п/2 символов, и заменив точками все восклицательные знаки, встречающиеся среди символов, стоящих после п/2 символов.
25. Строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).
26. В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.
27. Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.
28. Строка, содержащая произвольный русский текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически правильной форме, например а — 25 раз, к — 3 раза и т.д.
29. Упорядочить данный массив английских слов по алфавиту.
30. Даны две строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А, составить В (буквы можно использовать не более одного раза и можно переставлять).
Например, А: ИНТЕГРАЛ; В: АГЕНТ — составить можно; В: ГРАФ — составить нельзя.
31. Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных.
32. Двумерный массив п х т содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить данное слово S. Каждая буква массива используется не более одного раза.
33. Результаты вступительных экзаменов представлены в виде списка из N строк, в каждой строке которого записаны фамилия студента и отметки по каждому из M экзаменов. Определить количество абитуриентов, сдавших вступительные экзамены только на «отлично».
34. Составить программу преобразования натуральных чисел, записанных в римской нумерации, в десятичную систему счисления.
35. Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте.
36. В символьном массиве хранятся фамилии и инициалы учеников класса. Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев.
37. Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если число введено неверно, повторить ввод. При правильном вводе перевести число в десятичную систему счисления.
38. В заданной строке удалить все лишние пробелы.
39. Для заданного текста определить длину содержащейся в нем максимальной серии символов, отличных от букв.
40. Расстояние между двумя словами равной длины — это количество позиций, в которых различаются эти слова. В заданном предложении найти пару слов заданной длины с максимальным расстоянием.
41. Отредактировать заданное предложение, удаляя из него те слова, которые встречаются в предложении заданное число раз.
42. Напечатать те слова, которые встречаются в каждом из двух заданных предложений.
43. Отредактировать заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами.
44. Шифрация. Один из методов шифрации называется наложением гаммы. Делается это следующим образом: берется некоторое случайное число в диапазоне от 127 до 255 — гамма, и код каждого символа строки заменяется кодом, получающимся в результате операции: новый код=старый код XOR гамма.
Написать программу, реализующую:
а) данный метод шифрации;
б) дешифрацию строки при заданной гамме. Входные данные: шифруемая строка. Выходные данные:
• гамма;
• зашифрованная строка.
45. Кодировщик. Написать программу, перекодирующую строку в кодировке KOI в строку в кодировке Windows-1251 и обратно.
46. Тэг курсива. Дан текст, в котором встречаются структуры <i> и </i>. Заменить каждое вхождение <i> на <курсив>, а каждое вхождение </i> на <конец курсива>. Замечание. В программе следует учесть, что буква i может быть как строчной, так и прописной.
47. Форматирование текста. Дан текст, состоящий из предложений, разделяемых точками. Напишите программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел; первое слово в предложении должно начинаться с прописной буквы. Замечание. Текст может быть как на русском, так и на английском языке.
48. Статистика. Дан текст. Напишите программу, определяющую процентное отношение строчных и прописных букв к общему числу символов в нем.
49. Статистика-2. Дан текст. Определите, каких букв (строчных или прописных) в нем больше, и преобразуйте следующим образом: если больше прописных букв, чем строчных, то все буквы преобразуются в прописные; если больше строчных, то все буквы преобразуются в строчные; если поровну и тех и других — текст остается без изменения.
50. Частота появления букв в словах. Дан текст, содержащий слова на латинице, разделенные пробелами
Определить, какие буквы в словах совпадают чаще: первые, последние или средние. Позиция средней буквы в слове определяется по формуле:
поз_средн буквы =длина_слова div 2+1
где div — операция целочисленного деления.
51. Лишние пробелы. Дана строка, состоящая из слов, разделенных пробелами. Напишите программу, удаляющую лишние пробелы. Пробел считается лишним, если он:
• стоит в начале строки;
• стоит в конце строки;
• следует за пробелом.
52. Форматированный вывод числа. С клавиатуры вводится целое число в десятичной системе счисления. Написать программу, реализующую вывод его представления с разделением на триады цифр.
Пример.
Число: 100000
Форматированный вывод: 100 000
Число:1000000
Форматированный вывод: 1 000 000
53. Оптимизатор исходного кода. Для увеличения/уменьшения значения целочисленной переменной на единицу в языках программирования можно использовать операции сложения/вычитания, а можно — операции инкремент/декремент. Известно, что операции инкремент/декремент выполняются гораздо быстрее, чем сложение/вычитание, поэтому их использование часто предпочтительнее. Дан массив строк, представляющий фрагмент текста программы на языке Паскаль. Известно, что данный фрагмент оперирует только с целочисленными переменными. В каждой строке — одна команда.
Преобразовать данный текст, заменив каждую строку вида переменная:=переменная+1; на строку вида Inc (переменная); а каждую строку вида переменная:=переменная—1; на строку вида Dec (переменная);
Пример.
Исходный текст:
Begin
ReadLn(a,b);
а:=а+1;
c:=b+l;
b:=b-l;
WriteLn('a=',a);
WriteLn('b=',b);
End.
Преобразованный текст:
Begin
ReadLn(a,b);
Inc (a);
c:=b+l;
Dec(b);
WriteLn('a=',a);
WriteLn('b=',b);
End.