- •Пользовательские типы
- •Вариант 1***
- •Вариант 2***
- •Вариант 3***
- •Вариант 4***
- •Вариант 5**
- •Вариант 6**
- •Вариант 7**
- •Вариант 8**
- •Вариант 9**
- •Вариант 10**
- •Вариант 11**
- •Вариант 12**
- •Вариант 13**
- •Вариант 20**
- •Вариант 21**
- •Вариант 14*
- •Вариант 15*
- •Вариант 16*
- •Вариант 17*
- •Вариант 18*
- •Вариант 19*
-
Вариант 11**
Разработайте пользовательский тип «очередь целых чисел». Для внутренней реализации воспользуйтесь однонаправленным списком. Для разрабатываемого типа обязательно определите:
-
конструктор и деструктор;
-
конструктор копирования;
-
оператор присваивания;
-
операторы << и >> для добавления и извлечения элементов из очереди;
-
метод “очередь пуста?”;
-
метод, выводящий содержимое очереди в указанный поток.
-
Вариант 12**
Разработайте пользовательский тип «Строка». Для разрабатываемого типа обязательно определите:
-
конструктор и деструктор;
-
конструктор копирования;
-
оператор присваивания;
-
оператор сравнения ==;
-
операторы сравнения < и >;
-
оператор + для конкатенации строк;
-
метод, возвращающий длину строки;
-
оператор [] для доступа к символам строки;
-
операторы >> и << для ввода и вывода в поток.
-
Вариант 13**
Разработайте пользовательский тип “Многочлен от одной переменной”. Многочлен задается степенью и массивом коэффициентов. Для разрабатываемого типа обязательно определите:
-
конструктор и деструктор;
-
метод для вычисления значения многочлена для заданного значения переменной;
-
методы “get” для степени многочлена и значений его коэффициентов;
-
операторы +, - и * для многочленов с получением нового объекта-многочлена;
-
оператор << для вывода многочлена в поток.
-
Вариант 20**
Определите пользовательский тип “треугольная матрица вещественных чисел” для обработки квадратных матриц, в которых все элементы, находящиеся ниже побочной диагонали, имеют нулевые значения.
Класс должен содержать:
-
“get” и “set” методы для элементов матрицы;
-
“get” метод для размера матрицы;
-
операторы сложения и умножения матриц;
-
оператор присваивания;
-
оператор сравнения ==;
-
оператор << для вывода матрицы в указанный поток;
-
Вариант 21**
Определите пользовательский тип “симметричная матрица целых чисел” для обработки квадратных матриц, в которых A[i][j] == A[j][i] для всех допустимых все элементы, находящиеся ниже главной диагонали, имеют нулевые значения.
Класс должен содержать:
-
“get” и “set” методы для элементов матрицы;
-
“get” метод для размера матрицы;
-
операторы сложения и умножения матриц;
-
оператор присваивания;
-
оператор сравнения ==;
-
оператор << для вывода матрицы в указанный поток;
-
Вариант 14*
Разработайте пользовательский тип «стек целых чисел». Для внутренней реализации воспользуйтесь динамическим массивом. Емкость стека должна задаваться при создании экземпляра класса. В разрабатываемом типе обязательно определите:
-
конструктор и деструктор;
-
конструктор копирования;
-
операторы << и >> для добавления и исключения элементов из стека;
-
метод “стек пуст?”
-
оператор присваивания;
-
метод, выводящий содержимое стека в указанный поток.
-
Вариант 15*
Разработайте пользовательский тип «стек вещественных чисел». Для внутренней реализации воспользуйтесь динамическим массивом. Емкость стека должна задаваться при создании экземпляра класса, и не должна изменяться после этого. В разрабатываемом типе обязательно определите:
-
конструктор и деструктор;
-
конструктор копирования;
-
метод “push” для добавления числа в стек;
-
метод “pop” для извлечения числа из стека;
-
метод “стек пуст?”;
-
оператор присваивания;
-
оператор << для вывода стека в поток.