Создать класс "Четырехугольник" - C#
Формулировка задачи:
Создать класс четырехугольник, члены класса - координаты 4-х точек. Предусмотреть в классе вычисления и вывода сведений о фигуре - длины сторон, диагоналей, периметр,площадь. Создать производный класс прямоугольник, предусмотреть в классе проверку, является ли фигура прямоугольником. Написать программу, демонстрирующую работу с классом: Дано К четырехугольников и Т прямоугольников, найти кол-во четырехугольников, у которых площадь меньше средней площади четырехугольников и среднюю площадь прямоугольников.
и все, дальше ступор и не знаю что писать, так как на парах отсутствовала по болезни, то тему я не поняла, а сама разобраться не могу.
Листинг программы
- class Geviert
- {
- protected double x1, x2, y1, y2;
- public Geviert(double x1, double x2, double y1, double y2)
- {
- this.x1 = x1;
- this.x2 = x2;
- this.y1 = y1;
- this.y2 = y2;
- }
- public double Perimeter() // Периметр
- {
- return ((x1 * x2) + (x2 * y1) + (y1 * y2) + (y2 * x1));
- }
- public double Gipfel() //Высота
- {
- return (x1 * y2);
- }
- public double Area() // Площадь
- {
- return ((y1 * y2) * (x1 * y2));
- }
- }
- class Pryamougolnik: Geviert
- {
- }
Решение задачи: «Создать класс "Четырехугольник"»
textual
Листинг программы
- using System;
- namespace array
- {
- Point
- {
- /* Задание 1. Создать класс Point, содержащий следующие члены класса:
- 1. Поля:
- • int x, y;
- 2. Конструкторы, позволяющие создать экземпляр класса:
- • с нулевыми координатами;
- • с заданными координатами.
- 3. Методы, позволяющие:
- • вывести координаты точки на экран;
- • рассчитать расстояние от начала координат до точки;
- • переместить точку на плоскости на вектор (a, b).
- 4. Свойство:
- • позволяющее получить-установить координаты точки (доступное для чтения и записи);
- • позволяющее умножить координаты точки на скаляр (доступное только для записи).
- 5. Индексатор, позволяющий по индексу 0 обращаться к полю x, по индексу 1 – к
- полю y, при других значениях индекса выдается сообщение об ошибке.
- 6. Перегрузку:
- • операции ++ (--): одновременно увеличивает (уменьшает) значение полей х и у на 1;
- • констант true и false: обращение к экземпляру класса дает значение true, если
- значение полей x и у совпадает, иначе false;
- • операции бинарный +: одновременно добавляет к полям х и у значение скаляра.
- Продемонстрировать работу класса. */
- // Закрытые поля х и у
- private double x, y;
- // Закрытое поле value для переопределения метода Equals
- int value = 0;
- // Конструктор 1 - задающий нулевые координаты
- public Point() : this(0, 0) { }
- // Конструктор 2 - инициализирующий закрытые поля х и уclass
- public Point(double x, double y)
- {
- this.x = x;
- this.y = y;
- }
- // Метод Show выводит координаты точек на экран
- public void Show()
- {
- Console.WriteLine("Координаты точки: х = {0}, у = {1}", x, y);
- Console.WriteLine();
- }
- // Метод Distancе рассчитывает расстояние между точками
- public double GetDistance(Point p)
- {
- return Math.Sqrt(Math.Pow(p.x - x, 2) + Math.Pow(p.y - y, 2));
- }
- // Метод Transfer перемещения точки на вектор (а,b)
- public void Translate(double a, double b)
- {
- x =+ a;
- y =+ b;
- }
- // Свойство позволяющее получить-установить координаты точки х
- public double X
- {
- get { return x; }
- set { x = value; }
- }
- // Свойство позволяющее получить-установить координаты точки у
- public double Y
- {
- get { return y; }
- set { y = value; }
- }
- // Свойство позволяющее умножить координаты на скаляр
- public double Scalar
- {
- set { x *= value; y *= value; }
- }
- // Индексатор для обращения свойствам
- public double this[int i]
- {
- get
- {
- if (i == 0) return X;
- else if (i == 1) return Y;
- else return 0;
- }
- set
- {
- if (i == 0) X = value;
- else if (i == 1) Y = value;
- }
- }
- // Перегрузка бинарного оператор " * "
- public static Point operator * (Point p, double scalar)
- {
- return new Point(p.x * scalar, p.y * scalar);
- }
- // Перегрузка бинарного оператор " + "
- public static Point operator + (Point p, double scalar)
- {
- return new Point(p.x + scalar, p.y + scalar);
- }
- // Перегрузка бинарного оператор " - "
- public static Point operator - (Point p, double scalar)
- {
- return new Point(p.x - scalar, p.y - scalar);
- }
- // Перегрузка унарного оператор " ++ "
- public static Point operator ++ (Point p)
- {
- return new Point(p.x + 1, p.y + 1);
- }
- // Перегрузка унарного оператор " -- "
- public static Point operator -- (Point p)
- {
- return new Point(p.x - 1, p.y - 1);
- }
- // Возвращает значение true, если поле x = y, иначе false
- public static bool operator == (Point x, Point y)
- {
- return (x.X == y.X) && (x.Y == y.Y);
- }
- // Возвращает значение true, если поле x != y, иначе false
- public static bool operator != (Point x, Point y)
- {
- return (x.X != y.X) || (x.Y != y.Y);
- }
- // Перегрузка унарной константы true
- public static bool operator true (Point p)
- {
- return (p.X == p.Y);
- }
- // Перегрузка унарной константы false
- public static bool operator false(Point p)
- {
- return (p.X != p.Y);
- }
- // Перегрузка метода Equals
- public override bool Equals(object obj)
- {
- if (!(obj is Point)) return false;
- return value == ((Point)obj).value;
- }
- // Перегрузка метода GetHashCode
- public override int GetHashCode()
- {
- return value;
- }
- }
- /* Класс для работы с экземпляром класса Point
- class Program
- {
- static void Main()
- {
- Point one = new Point(); // Вызов конструктора нулевых координат
- Point two = new Point(5, 5); // Вызов конструктора произвольных координат
- double scalar = 5; // значение скаляра
- one.Show();
- two.Show();
- double res = one.GetDistance(two);
- Console.WriteLine("Расстояние между точками: {0}", res);
- Console.WriteLine();
- two.Translate(7, 8);
- Console.WriteLine("Перемещение точки на вектор (а, b): ");
- two.Show();
- Console.WriteLine("Умножение координат на скаляр: ");
- two.Scalar = scalar;
- two.Show();
- Console.WriteLine("Изменение координат на +1: ");
- two++;
- two.Show();
- Console.WriteLine("Изменение координат на -1: ");
- two--;
- two.Show();
- if (two) Console.WriteLine("Точки х и у равны");
- else Console.WriteLine("Точки х и у не равны");
- Console.WriteLine();
- Console.WriteLine("Добавление к полям х и у значение скаляра:");
- two = two + scalar;
- two.Show();
- //выход из программы
- Console.WriteLine();
- Console.WriteLine("Нажмите любую клавишу для выхода...");
- Console.ReadKey(true);
- }
- }*/
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д