Для каждого варианта необходимо разработать шаблон соответствующего класса, где поля могут иметь различные типы данных (некоторые поля могут быть статическими). Предусмотреть наличие в классе указанных методов и перегруженных операций. Примечание. Задания с геометрическими объектами необходимо выполнить для случая двумерного пространства.
№
| Название класса
| Поля
| Методы
| Перегружаемые операции
|
1.
| Квадрат
| Координаты центра, длина стороны
| Нарисовать, определить периметр и площадь
| ==, += (увеличить длину стороны)
|
2.
| Круг
| Координаты центра, радиус
| Нарисовать, определить периметр и площадь
| > (сравнение по радиусам), постфиксный –– (уменьшить радиус)
|
3.
| Стек (на массиве)
| Указатель на вершину, текущий размер, указатель на массив-стек
| Добавить, извлечь элемент, проверить на пустоту, распечатать
| += (поместить в стек), префиксный – – (извлечь из стека)
|
4.
| Очередь (на массиве)
| Указатели на начало и конец, текущий размер, указатель на массив-очередь
| Добавить, извлечь элемент, проверить на пустоту, распечатать
| += (поместить в очередь), постфиксный – – (извлечь из очереди)
|
5.
| Элемент односвязного списка
| Указатель на начало, информационное поле элемента, ссылка на следующий элемент
| Добавить элемент в начало, удалить из начала, найти элемент
| << (распечатать весь список), == (равны ли размеры двух списков)
|
6.
| Элемент двусвязного списка
| Указатели начала и конца, информационное поле элемента, ссылки на следующий и предыдущий элементы
| Добавить элемент в конец, удалить из конца, распечатать список
| << (распечатать весь список), == (равны ли размеры двух списков)
|
7.
| Элемент односвязного списка
| Указатели начала и конца, информационное поле элемента, ссылка на следующий элемент
| Добавить элемент в конец, удалить из конца, распечатать список
| [] (получить элемент списка по его номеру), постфиксный ++ (увеличить на 1 инф. поле каждого элемента)
|
8.
| Точка
| Координаты, цвет
| Нарисовать, стереть, переместить
| Бинарный – (расстояние между точками), –= (уменьшить каждую координату)
|
9.
| Элемент двусвязного списка
| Указатели начала и конца, информационное поле элемента, ссылки на следующий и предыдущий элементы
| Добавить элемент в начало, удалить из начала, найти элемент
| [] (получить элемент списка по его номеру), префиксный – – (уменьшить на 1 информационное поле каждого элемента)
|
10.
| Эллипс
| Координаты, 2 радиуса
| Нарисовать, стереть, переместить
| !=, префиксный ++ (увеличить каждую координату)
|
11.
| Комплексное число
| Действительная и мнимая части
| Изменить значение действительной и мнимой частей, определить модуль
| Унарный – (поменять знак каждой части), бинарный +
|
12.
| Квадратное уравнение
| Коэффициенты, дискриминант, корни
| Вывести на экран уравнение, решить уравнение, вывести корни
| Бинарный –, *= (каждый коэффициент умножить на число)
|
13.
| Арифметическое выражение
| 2 операнда, знак операции
| Вывести на экран выражение, вычислить, вывести результат
| ==, постфиксный –– (уменьшить каждый операнд)
|
14.
| Матрица
| 2 размерности, указатель на элементы
| Вывести на экран, найти максимум и среднее значение элементов
| + (сложение двух матриц), < (каждый элемент 1-й матрицы меньше соотв. элемента второй)
|
15.
| Дробь
| Целая часть, числитель, знаменатель
| Изменить значения полей, сократить, вывести на экран
| << (вывести в виде десятичной дроби), * (перемножить две дроби)
|
16.
| Дата
| Число, месяц, год
| Изменить значения полей, определить, сколько дней осталось до нового года, вывести в формате «чч/мм/гггг»
| != (проверка двух дат на неравенство), бинарный – (промежуток между двумя датами в днях, месяцах, годах)
|
17.
| Время
| Часы, минуты, секунды
| Изменить значения полей, вывести в формате «чч:мм:сс», определить, является ли заданное время «до полудня» или «после полудня»
| >> (ввод новых значений полей), += (добавить заданное количество секунд)
|
18.
| Отрезок
| Координаты концов
| Изменить значения полей, вычислить длину, проверка на вырождение отрезка в точку
| << (нарисовать), == (проверка на равенство длин двух отрезков)
|
19.
| Многочлен
| Порядок многочлена, массив коэффициентов
| Вывести на экран, изменить значения коэффициентов, найти производную
| +, [] (получить заданный индексом коэффициент)
|
20.
| Треугольник
| Длины сторон, тип
| Проверка возможности построения треугольника, определение типа (если нельзя построить треугольник, то тип = «no»), вычисление площади
| > (сравнение площадей двух треугольников), постфиксный – – (декремент каждой стороны)
|
21.
| Множество
| Элементы множества, текущее количество элементов
| Проверка на включение элемента в множество, вывод на экран, удаление элемента из множества
| += (добавление элемента в множество), * (пересечение множеств)
|
22.
| Линейное уравнение
| Коэффициенты, корень
| Изменение значений полей, вывод в формате (ax+b=0), решение уравнения
| <= (сравнение корней двух уравнений), префиксный ++ (инкремент каждого коэффициента)
|
23.
| Граф
| Количество вершин, матрица инцидентности (или смежности)
| Определение количества ребер, поиск кратчайшего пути из одной вершины в другую, обход графа в глубину
| [] (определение количества вершин, смежных с заданной), унарный – (изменение направления всех дуг графа)
|
24.
| Узел бинарного дерева
| Указатель на корень, информационное поле узла, ссылки на левого и правого потомков
| Распечатать дерево, определить среднее арифметическое элементов, найти и удалить заданный элемент
| << (обход дерева сверху вниз), += (добавить элемент в дерево)
|
25.
| Правильная треугольная пирамида
| Стороны основания, высота
| Изменить значения полей, вычислить площадь поверхности, вычислить объем
| << (вывод площади основания), > (сравнение высот двух пирамид)
|
26.
| Цилиндр
| Радиус основания, высота
| Изменить значения полей, вычислить площадь поверхности, вычислить объем
| == (проверка на равенство по всем полям), префиксный – – (декремент высоты)
|
27.
| Ромб
| Координаты центра, длины диагоналей
| Нарисовать, вычислить периметр, вычислить площадь
| Постфиксный ++ (инкремент каждой диагонали), –= (смещение координат центра)
|
28.
| Биквадратное уравнение
| Коэффициенты, корни
| Изменение значений полей, вывод в формате (ax^4+bx^2+c=0), решение уравнения
| >> (ввод значений коэффициентов), бинарный – (разность двух уравнений)
|