Разработать класс Окружность - C# (182870)
Формулировка задачи:
Разработать класс Окружность
поля:
координаты центра(без ограничений),
радиус(не может быть отрицательным),
имя - только для чтения, статическое -его значение "Окружность"
площадь -только для чтения, получаем путем расчетов
При попытке установки недопустимого значения - генерация исключения
конструкторы
-по координатам и радиусу
-по радиусу
перегрузка метода ToString
Реализовать индексатор - позволяющий осуществить доступ к координатам центра окружности:
индекс 1 - соответствует координате х, индекс 2 - координате y
перегрузить оператор равенства == - две окружности считать равными, если их площади равны
перегрузить оператор *, реализовав масштабирование окружности - увеличение/уменьшение ее радиуса в указанное кол-во раз
реализовать метод, принимающий в качестве параметров произвольное кол-во окружностей и значение радиуса и возвращающий массив сведений об интересующих окружностях - элементом массива является строка "окружность: координаты центра"
Решение задачи: «Разработать класс Окружность»
textual
Листинг программы
- class Circle
- {
- int x;//координаты центра
- int y;
- int r;//радиус окружности
- int s;//площадь окружности
- //Конструктор по координатам и радиусу
- public Circle(int x, int y, int r)
- {
- this.x = x;
- this.y = y;
- this.r = r;
- }
- //Конструктор по радиусу
- public Circle(int r)
- {
- this.r = r;
- x = 0;
- y = 0;
- }
- public double ploshad()
- {
- double pi = 3.14;
- return ((double)r * r * pi);
- }
- //Индексатор
- public int this[int index] {
- get {
- if (index == 1) return x;
- else return y;
- }
- set
- {
- if (index == 1) x = value;
- else y = value;
- }
- }
- public static bool operator ==(Circle c1,Circle c2)
- {
- if (c1.ploshad() == c2.ploshad()) return true;
- else return false;
- }
- public static bool operator !=(Circle c1, Circle c2)
- {
- if (c1.ploshad() != c2.ploshad()) return true;
- else return false;
- }
- public static int operator *(Circle c, int m)
- {
- c.r = c.r * m ;
- return c.r;
- }
- public static int operator / ( Circle c,int d)
- {
- c.r = c.r / d;
- return c.r;
- }
- public string toString()
- {
- return "x = "+x+" y = "+y+" r = "+r;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д