Даны три вершины треугольника. Найдите длины сторон треугольника и высоту. C++
Ответы на вопрос
Если даны координаты трёх вершин \( A(x_1,y_1) \), \( B(x_2,y_2) \), \( C(x_3,y_3) \), длины сторон ищем по формуле расстояния между точками:
\[ AB=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} \]
Высоту к стороне \( AB \) можно найти так: сначала площадь по формуле Герона, затем \( h=\frac{2S}{AB} \).
C++:
#include <iostream>
#include <cmath>
using namespace std;
double dist(double x1, double y1, double x2, double y2) {
return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}
int main() {
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double a = dist(x2, y2, x3, y3);
double b = dist(x1, y1, x3, y3);
double c = dist(x1, y1, x2, y2);
double p = (a + b + c) / 2;
double S = sqrt(p * (p - a) * (p - b) * (p - c));
double h = 2 * S / c;
cout << "Sides: " << a << " " << b << " " << c << endl;
cout << "Height to side AB: " << h << endl;
return 0;
}
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

