
- •Использование параметризованных классов стандартной библиотеки
- •8.1. *Реализовать алгоритм, используя объекты класса «String».
- •8.2. **Реализовать алгоритм, используя объекты класса «String», текстовые файлы и функции
- •8.3. *Реализовать алгоритм с использованием контейнерного класса vector
- •8.4. Реализовать алгоритм с использованием последовательного контейнера
- •8.4.1. *Создать структуру данных – «линейный список»
- •8.4.2. *Создать структуру данных – «стек»
- •8.4.3. **Создать структуру данных – «очередь»
- •8.4.4. *Реализовать список
- •8.5. *Разработать шаблонный класс векторов
8.4.3. **Создать структуру данных – «очередь»
Разработать функции для выполнения базовых операций над линейными структурами, содержащими записи со сведениями о студентах: ФИО, возраст, пол, курс, успеваемость.
Реализовать функции заполнения очереди значениями из файла и вывода элементов очереди в файл.
Варианты:
Определить ФИО самого старшего студента n курса.
Определить ФИО самого младшего студента n курса.
Определить средний возраст студентов n курса.
Определить количество студентов мужского пола на n курсе.
Определить средний бал успеваемости студентов n курса.
Определить средний бал успеваемости студентов по m предмету на n курсе.
Определить количество отличников на n курсе.
Определить количество неуспевающих студентов на n курсе.
Определить количество отличников по m предмету на n курсе.
Определить количество неуспевающих студентов по m предмету на n курсе.
Определить количество студентов на n курсе, имеющих средний бал успеваемости выше среднего бала по его курсу.
Определить количество студентов на n курсе, имеющих средний бал успеваемости ниже среднего бала по его курсу.
8.4.4. *Реализовать список
Варианты:
Описать функцию, которая формирует список символов L2, включив в него те символы из L1, которые входят в него по одному разу.
Описать функцию, которая формирует список символов L2, включив в него те символы из L1, которые входят в него более одного раза.
Описать функцию, которая формирует список символов L2, включив в него те символы из L1, которые входят в него ровно два раза.
Описать функцию, которая формирует список символов-букв L2, включив в него те символы-буквы, которые не входят в список L1 .
Описать функцию, которая формирует список символов L, включив в него по одному разу элементы, которые входят хотя бы в один из списков L1 и L2.
Описать функцию, которая формирует список символов L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.
Описать функцию, которая формирует список символов L, включив в него по одному разу элементы, которые входят в один из списков L1 и L2, но в то же время не входят в другой из них.
Описать функцию, которая формирует список символов L, включив в него по одному разу элементы, которые входят в список L1 и не входят в список L2.
Описать функцию, которая из списка символов L удаляет все вхождения списка L1 (если такой есть).
Описать функцию, которая в списке символов L заменяет первое вхождение списка L1 (если такой есть) на список L2.
Описать функцию, которая в списке символов L заменяет все вхождения списка L1 (если такой есть) на список L2.
Описать функцию, которая в списке символов L заменяет последнее вхождение списка L1 (если такой есть) на список L2.
8.5. *Разработать шаблонный класс векторов
Разработать шаблонный класс Vect для представления динамических одномерных массивов (векторов) без использования библиотеки STL. Класс должен обеспечивать хранение данных любого типа T, для которого предусмотрены конструктор по умолчанию, конструктор копирования и операция присваивания. Класс должен содержать:
конструктор по умолчанию, создающий вектор нулевого размера;
конструктор, создающий вектор заданного размера;
операцию индексирования, возвращающую ссылку на соответствующий элемент вектора;
метод, добавляющий элемент в произвольную позицию вектора;
метод, добавляющий элемент в конец вектора;
метод, удаляющий элемент из конца вектора.
При необходимости добавить в класс другие методы.
В клиенте main() продемонстрировать использование этого класса для векторов, содержащих элементы типов int, double, string.