Равнобедренный треугольник - C# (216690)

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачу: Пусть даны координаты трех точек на плоскости. Если они могут быть вершинами равнобедренного треугольника, вычислите длины его высот. Выведите длины основания и высот в порядке возрастания значений.

Решение задачи: «Равнобедренный треугольник»

textual
Листинг программы
Random rand = new Random();
Point p1 = new Point(rand.Next(0, 9), rand.Next(0, 9));
Point p2 = new Point(rand.Next(0, 9), rand.Next(0, 9));
Point p3 = new Point(rand.Next(0, 9), rand.Next(0, 9));
 
double w1 = System.Math.Sqrt((p1.X - p2.X) * (p1.X - p2.X) + (p1.Y - p2.Y) * (p1.Y - p2.Y));
double w2 = System.Math.Sqrt((p2.X - p3.X) * (p2.X - p3.X) + (p2.Y - p3.Y) * (p2.Y - p3.Y));
double w3 = System.Math.Sqrt((p3.X - p1.X) * (p3.X - p1.X) + (p3.Y - p1.Y) * (p3.Y - p1.Y));
 
if (w1 == w2 || w2 == w3 || w3 || w1)
{
    Point p_2_3 = new Point((p2.X + p3.X) / 2, (p2.Y + p3.Y) / 2);
    double h_2_3 = System.Math.Sqrt((p1.X - p_2_3.X) * (p1.X - p_2_3.X) + (p1.Y - p_2_3.Y) * (p1.Y - p_2_3.Y));
    
    Point p_1_2 = new Point((p1.X + p2.X) / 2, (p1.Y + p2.Y) / 2);
    double h_1_2 = System.Math.Sqrt((p_1_2.X - p3.X) * (p_1_2.X - p3.X) +  (p_1_2.Y - p3.Y) * (p_1_2.Y - p3.Y));
                    
    Point p_1_3 = new Point((p1.X + p3.X) / 2, (p1.Y + p3.Y) / 2);
    double h_1_3 = System.Math.Sqrt((p_1_3.X - p2.X) * (p_1_3.X - p2.X) + (p_1_3.X - p2.X) * (p_1_3.X - p2.X));
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5
Похожие ответы