Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

laba STL1

.doc
Скачиваний:
26
Добавлен:
27.03.2015
Размер:
30.72 Кб
Скачать

Варианты заданий к лабораторной работе №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> - примечание (фамилия человека) и дата (день рождения). Организовать ввод данных с клавиатуры, вывод информации на экран. Осуществить поиск заданной с клавиатуры фамилии в контейнере, вывести на экран результат поиска.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]