в качестве контейнера должен быть использован свой собственный контейнер

Задание совпадает с заданием “Уровень 2», однако:

 в качестве контейнера должен быть использован свой собственный контейнер List (см Уровень 3 в Лабораторной работе (6)). При необходимости List следует исправить/дополнить/переписать заново.

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

boolvalid() const,

возвращающий trueесли итератор может быть безопасно разадресован, и falseв противном случае (контейнер удален, итератор указывает на невалидный элемент и т.п.). Предусмотреть корректную работу итераторов при их копировании. При доступе по невалидному итератору должно кидаться исключение invalid_iterator, производное от std::exception.

 

Вариант B.

Часть 1. Задание совпадает с заданием “Уровень 2», однако:

 в качестве контейнера должен быть использован свой собственный контейнер List (см Уровень 3 в Лабораторной работе (6)). При необходимости List следует исправить/дополнить/переписать заново.

Часть 2. Дополнительно должны быть написаны три собственных алгоритма, работающих как со стандартными контейнерами, так и с собственным контейнером List. Назначение алгоритмов:

(1) замена всех чисел в последовательности на их модули,

(2) вычисление длины многомерного вектора,

(3) нахождение максимального, минимального, и среднего значений функции ( пример функции: exp(x*x + y*y)), вычисленной для каждой пары чисел, взятых соответственно из двух последовательных контейнеров.

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

Ссылка на основную публикацию
Adblock detector