Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание / Методичка 2019 ЗАОЧ.docx
Скачиваний:
18
Добавлен:
04.07.2024
Размер:
53.86 Кб
Скачать

Лабораторная работа №7

Динамические массивы и строки на С++

Цель работы:

Изучение принципов организации динамических массивов в стандартной библиотеке языка C++ и методов их обработки. Освоение приемов работы со строками средствами стандартной библиотеки языка C++. Совершенствование навыков декомпозиции программы на подпрограммы, разработки и отладки программ в IDE.

Порядок выполнения работы:

Разработать программу на C++, решающую поставленную задачу в соответствии с индивидуальным заданием.

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

Для представления динамического массива необходимо воспользоваться реализацией из библиотеки <vector>, для представления строк – реализацией из библиотеки <string>.

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

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

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

Рекомендации:

Для разбиения строки на слова рекомендуется воспользоваться средствами библиотеки <sstream>.

Если не требуется обрабатывать номера элементов массива или строки, рекомендуется воспользоваться циклом на основе диапазона:

for(auto элемент : контейнер) {} // если не требуется изменять элементы

или

for(auto& элемент : контейнер) {} // если требуется изменять элементы

Содержание отчета:

  1. Титульный лист

  2. Цель работы

  3. Общее задание на лабораторную работу

  4. Номер варианта и индивидуальное задание

  5. Текст программы

  6. Снимки экрана результатов работы программы для разных наборов входных данных

  7. Вывод

Индивидуальные варианты:

1.

Ввести строку. Вывести ее слова в порядке убывания длин слов.

2.

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

3.

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

4.

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

5.

Ввести строку. Вывести только различные встречающиеся целые числа.

6.

Ввести строку и символ. Вывести строку так, чтобы за каждым словом следовало слово, составленное из введенного символа в количестве, равном длине этого слова.

7.

Ввести строку. Вывести ее, заменив отдельно стоящие цифры на их словесное представление (0 - "zero", 1 - "one", ...).

8.

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

9.

Ввести строку и символ. Вывести строку так, чтобы за каждым словом следовало слово, составленное из введенного символа в количестве, равном номеру слова в строке.

10.

Ввести строку и слово, удалить все вхождения слова на четных позициях и вывести строку.

11.

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

12.

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

13.

Ввести строку, вывести только те слова, которые начинаются и заканчиваются на одну и ту же букву

14.

Ввести строку, вывести только те слова, которые содержат в себе не менее двух цифр.

15.

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

16.

Ввести строку и букву, вывести слова, добавив в конце слово, составленное из первых букв слов, содержащих введенную букву

17.

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

18.

Ввести строку и слово. Вставить введенное слово вместо самого короткого слова в строке.

19.

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

20.

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

21.

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

22.

(Шифр Цезаря) Ввести строку и число. Вывести слова, сместив каждую букву в них на введенное число.

23.

Ввести строку и букву. Вывести слова, содержащие введенную букву более одного раза.

24.

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