Задание.

При выполнении данной лабораторной работы необходимо решать каждую задачу с использование указателей и функций для работы со строками. Не использовать символьные массивы с фиксированным количеством элементов. Максимально экономно подходить к использованию памяти.

Вариант 1.

Задание 1.

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

Задание 2.

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.

Задание 3.

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

Вариант 2.

Задание 1.

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

Задание 2.

Дана строка, состоящая из слов, разделенных пробелами и заканчивающаяся точкой. Вывести на экран слова, содержащие три буквы.

Задание 3.

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

Вариант 3.

Задание 1.

Дана строка. Подсчитать, сколько в ней букв r, k, t.

Задание 2.

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

Задание 3.

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

Вариант 4.

Задание 1.

Дана строка. Определить, сколько в ней символов *, ;, :.

Задание 2.

Дана строка. Подсчитать, сколько различных символов встречается в ней. Вывести их на экран.

Задание 3.

Из строки Str1 удалить все символы, входящие в строку Str2.

Вариант 5.

Задание 1.

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

Задание 2.

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

Задание 3.

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

Вариант 6.

Задание 1.

Дана строка символов, среди которых есть двоеточие (:). Определить, сколько символов ему предшествует.

Задание 2.

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

Задание 3.

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

Вариант 7.

Задание 1.

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

Задание 2.

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

Задание 3.

Дана строка из символов латинского алфавита. Замените все вхождения слова "two" на символ '2'.

Вариант 8.

Задание 1.

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

Задание 2.

В записке слова зашифрованы — каждое из них записано наоборот. Расшифровать сообщение.

Задание 3.

Дана строка, состоящая из слов, разделенных пробелами и заканчивающаяся точкой. Заменить в ней слово he на she.

Вариант 9.

Задание 1.

Дана строка. Определить, сколько раз входит в нее группа букв abc.

Задание 2.

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

Задание 3.

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

Вариант 10.

Задание 1.

Дана строка. Подсчитать количество букв k в последнем ее слове.

Задание 2.

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

Задание 3.

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

Вариант 11.

Задание 1.

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

Задание 2.

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

Задание 3.

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

Вариант 12.

Задание 1.

Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.

Задание 2.

Форматирование текста. Дан текст, состоящий из предложений, разделяемых точками. Напишите программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел; первое слово в предложении должно начинаться с прописной буквы.

Задание 3.

Дана строка, состоящая из слов, разделенных пробелами и заканчивающаяся точкой. Заменить в ней все слова, начинающиеся с буквы m на mama.

Вариант 13.

Задание 1.

Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить, сколько в нем слов, заканчивающихся буквой а.

Задание 2.

Лишние пробелы. Дана строка, состоящая из слов, разделенных пробелами. Напишите программу, удаляющую лишние пробелы. Пробел считается лишним, если он:

• стоит в начале строки;

• стоит в конце строки;

• следует за пробелом.

Задание 3.

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

Вариант 14.

Задание 1.

В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать количество замен.

Задание 2.

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

Задание 3.

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

Вариант 15.

Задание 1.

В строке удалить символ «двоеточие» (:) и подсчитать количество удаленных символов.

Задание 2.

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

Задание 3.

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

Вариант 16.

Задание 1.

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

Задание 2.

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

Задание 3.

В строке между словами вставить вместо пробела запятую и пробел.

Вариант 17.

Задание 1.

Удалить часть символьной строки, заключенной в скобки (вместе со скобками).

Задание 2.

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

Задание 3.

Предложение состоит из слов, разделенных одним или несколькими пробелами. Оставить в строке только те слова, которые заканчиваются на заданный символ.

Вариант 18.

Задание 1.

В строке имеется одна точка с запятой (;). Подсчитать количество символов до точки с запятой и после нее.

Задание 2.

Дана строка-предложение из символов латинского алфавита. Вывести самое короткое слово в предложении (если таких слов несколько, то вывести первое из них).

Задание 3.

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

Вариант 19.

Задание 1.

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

Задание 2.

Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно три буквы ' А '.

Задание 3.

Дана строка, состоящая из слов, разделенных пробелами и заканчивающаяся точкой. Напечатать те слова данной строки, которые отличаются от слова hello.

Вариант 20.

Задание 1.

Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.

Задание 2.

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

Задание 3.

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

Вариант 21.

Задание 1.

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

Задание 2.

Дана строка-предложение из символов латинского алфавита. Вывести самое длинное слово в предложении (если таких слов несколько, то вывести последнее из них).

Задание 3.

Дана строка, состоящая из слов, разделенных пробелами и заканчивающаяся точкой. Заменить все вхождения ph на f? а все вхождения ed на ing.

Вариант 22.

Задание 1.

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

Например, А: ИНТЕГРАЛ; В: АГЕНТ — составить можно; В: ГРАФ — составить нельзя.

Задание 2.

Определить, сколько раз в строке встречается заданное слово.

Задание 3.

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

Вариант 23.

Задание 1.

Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных.

Задание 2.

Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат введенный символ.

Задание 3.

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

Вариант 24.

Задание 1.

Строка состоит из слов, разделенных пробелами. Оставить между словами только по одному пробелу.

Задание 2.

Выясните, имеются ли среди введенных символов все буквы, входящие в слово "yandex".

Задание 3.

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

Вариант 25.

Задание 1.

Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Определить длину самого длинного слова.

Задание 2.

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

Задание 3.

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