Структуры и классы
Тип данных должен быть
реализован в виде класса с указанными закрытыми полями, где операции
реализуются в виде открытых методов класса. Требуется реализовать тип данных с помощью
класса. Во всех заданиях обязательно должны присутствовать:
·
Метод
инициализации Init(); метод должен контролировать значения аргументов на
корректность, при некорректных значения выводить
сообщение No и заканчивать
работу с этим экземпляром;
·
Ввод с клавиатуры
Read();
·
Вывод на экран Display(), в
котором выводятся поля экземпляра и результат вычислений специфического метода;
В головной функции требуется
создать один статический экземпляр описанного типа и массив из n динамических
экземпляров этого типа и вызвать для каждого из этих экземпляров все
перечисленные методы в указанном порядке.

Формат входных данных.
Ввод: тройка
значений длин сторон статического объекта, число экземпляров в динамическом
объекте и данные параметров динамических объектов.
Вывод: поля
экземпляра и результаты специфических методов статического объекта (углы
измерять в градусах), затем данные экземпляров и результаты специфических
методов динамического объекта.
Пример входных данных:
3 4 5
3
5 5 2
1 3 3
2 2 2
Пример выходных данных:
sides
3.000 4.000 5.000
angles
36.870 53.130 90.000
heights 4.000
3.000 2.400
perimeter= 12.000 square= 6.000
right - angled
sides
5.000 5.000 2.000
angles
78.463 78.463 23.074
heights 1.960
1.960
4.899
perimeter= 12.000 square= 4.899
isosceles (2 sides)
sides
1.000 3.000 3.000
angles
19.188 80.406 80.406
heights 2.958
0.986 0.986
perimeter= 7.000 square= 1.479
sides
2.000 2.000 2.000
angles
60.000 60.000 60.000
heights 1.732
1.732
1.732
perimeter= 6.000 square= 1.732
equilateral (3 sides)
isosceles (2 sides)