laba STL1
.docВарианты заданий к лабораторной работе №1
Цель: освоить стандартную библиотеку шаблонов (STL).
Общие требования:
-
для обращения к элементам заданного контейнера обязательно использовать соответствующие итераторы.
-
Если задание предусматривает выполнение сортировки, ее необходимо выполнить с помощью алгоритма sort из STL.
-
Обработка ошибок должна быть реализована с помощью выбрасывания исключений – объектов класса Exception.
-
Работу программы проверить на файлах очень большого размера.
Вариант 1.
Заданы имена входного текстового файла (существует на диске) и выходного файла (создается программой). Считать все строки входного файла в контейнер vector<AnsiString>. Отсортировать строки в контейнере в алфавитном порядке, преобразовать к верхнему регистру и записать их в выходной файл.
Вариант 2.
Заданы имена входного текстового файла (существует на диске) и выходного файла (создается программой). Считать позиции начал строк входного файла в контейнер deque<int>. Используя эти данные и реверсивный итератор записать в выходной файл строки из входного в обратном порядке следования.
Вариант 3.
Заданы имена входного текстового файла (существует на диске) и выходного файла (создается программой). Записать в выходной файл строки из входного в обратном алфавитном порядке, перед записью преобразовать строки к нижнему регистру. Использовать контейнер vector<AnsiString>. Для сортировки sort< iter1, iter2, Compare>, где Compare – соответствующая структура сравнения. Для преобразования регистра использовать алгоритм for_each.
Вариант 4.
Заданы имена входного текстового файла (существует на диске) и выходного файла (создается программой). Записать в выходной файл строки из входного в порядке увеличения длины, причем в файл должны быть записаны только строки длиной больше 10 и меньше 50 символов. Использовать контейнер multiset<AnsiString, Compare>, где Compare – соответствующая структура сравнения.
Вариант 5.
Заданы имена входного текстового файла (существует на диске) и выходного файла (создается программой). Записать в выходной файл строки из входного в порядке уменьшения длины, причем записаны должны быть только строки с четной длиной. Использовать контейнер multimap<int len, int pos, Compare>, где len – длина строки, зщы – позиция строки во входном файле, Compare – соответствующая структура сравнения.
Вариант 6.
Написать программу – календарь для хранения дней рождения. Информация в программе должна хранится в контейнере map<AnsiString,TDateTime> - примечание (фамилия человека) и дата (день рождения). Организовать ввод данных с клавиатуры, вывод информации на экран. Осуществить поиск заданной с клавиатуры фамилии в контейнере, вывести на экран результат поиска.