C/C++

Даны координаты трех точек на плоскости.

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

Можете объяснить математически, но нужна программа на C++, желательно с комментариями, пока не понимаю что да как.
1. Спрашиваешь математическое решение у математиков.
2. Создаешь структуру которая будет хранить результаты.
3. Суй результаты в массив std::vector
4. Сортируй массив используя std::sort
https://en.cppreference.com/w/cpp/algorithm/sort

пример сортировки такой

высота
struct {
bool operator()(const MyStruct& a, const MyStruct& b) const { return a.height < b.height; }
} sortHeight;
std::sort(s.begin(), s.end(), sortHeight);

напечатать
for(auto i : s)
{
printf("H: %f\n", i.height);
}

далее сортировка по гипотенузе

struct {
bool operator()(const MyStruct& a, const MyStruct& b) const { return a.hypotenuse < b.hypotenuse ; }
} sortHypotenuse ;
std::sort(s.begin(), s.end(), sortHypotenuse);

напечатать уже printf("Hp: %f\n", i.hypotenuse );

так же с катетом.
Алексей Алекс
Алексей Алекс
1 065
Лучший ответ
1. В прямоугольном равнобедренном треугольнике (части квадрата, разрезанного по диагонали) катеты равны, а высота из прямого угла рана половине гипотенузы (диагонали квадрата). Тогда короче всех будет катет (сторона квадрата), высота равна корню квадратному из суммы катетов, а гипотенуза (диагональ квадрата) равна удвоенному значению высоты либо корню квадратному из суммы квадратов катетов.

2. Три точки образуют на плоскости треугольник, если они лежат не на одной прямой. Такой треугольник имеет некоторую площадь, которую можно найти по формуле Герона, подкоренное выражение, которой не должно быть равно нулю (условие существования треугольника).

3. Для того, чтобы найти длину отрезка на плоскости, следует вычислить квадратный корень из квадратов разностей одноименных координат точек, которыми задан это отрезок.

4. Если три отрезка не лежат на одной прямой, два из которых равны, а квадрат третьей стороны равен сумме квадратов двух других сторон, то такой треугольник прямоугольный и равнобедренный. Следует перейти к первому пункту.

Для справки:
https://ru.wikipedia.org/wiki/Треугольник
https://ru.wikipedia.org/wiki/Формула_Герона
https://ru.wikipedia.org/wiki/Квадрат
https://www.fxyz.ru/формулы_по_математике/аналитическая_геометрия/на_плоскости/точки_и_прямые_в_прямоугольной_системе_координат/расстояние_между_двумя_точками/
Юрий Позак
Юрий Позак
87 315
сначала нужно определить вершину этого прямоугольного треугольника если он таковым является, правильно?