Даны координаты трех точек на плоскости. Если они могут быть вершинами прямоугольного равнобедренного треугольника, то вычислите длину высоты к гипотенузе и напечатайте величины высоты, гипотенузы и катета в порядке возрастания.
Можете объяснить математически, но нужна программа на 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 );
так же с катетом.
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. В прямоугольном равнобедренном треугольнике (части квадрата, разрезанного по диагонали) катеты равны, а высота из прямого угла рана половине гипотенузы (диагонали квадрата). Тогда короче всех будет катет (сторона квадрата), высота равна корню квадратному из суммы катетов, а гипотенуза (диагональ квадрата) равна удвоенному значению высоты либо корню квадратному из суммы квадратов катетов.
2. Три точки образуют на плоскости треугольник, если они лежат не на одной прямой. Такой треугольник имеет некоторую площадь, которую можно найти по формуле Герона, подкоренное выражение, которой не должно быть равно нулю (условие существования треугольника).
3. Для того, чтобы найти длину отрезка на плоскости, следует вычислить квадратный корень из квадратов разностей одноименных координат точек, которыми задан это отрезок.
4. Если три отрезка не лежат на одной прямой, два из которых равны, а квадрат третьей стороны равен сумме квадратов двух других сторон, то такой треугольник прямоугольный и равнобедренный. Следует перейти к первому пункту.
Для справки:
https://ru.wikipedia.org/wiki/Треугольник
https://ru.wikipedia.org/wiki/Формула_Герона
https://ru.wikipedia.org/wiki/Квадрат
https://www.fxyz.ru/формулы_по_математике/аналитическая_геометрия/на_плоскости/точки_и_прямые_в_прямоугольной_системе_координат/расстояние_между_двумя_точками/
2. Три точки образуют на плоскости треугольник, если они лежат не на одной прямой. Такой треугольник имеет некоторую площадь, которую можно найти по формуле Герона, подкоренное выражение, которой не должно быть равно нулю (условие существования треугольника).
3. Для того, чтобы найти длину отрезка на плоскости, следует вычислить квадратный корень из квадратов разностей одноименных координат точек, которыми задан это отрезок.
4. Если три отрезка не лежат на одной прямой, два из которых равны, а квадрат третьей стороны равен сумме квадратов двух других сторон, то такой треугольник прямоугольный и равнобедренный. Следует перейти к первому пункту.
Для справки:
https://ru.wikipedia.org/wiki/Треугольник
https://ru.wikipedia.org/wiki/Формула_Герона
https://ru.wikipedia.org/wiki/Квадрат
https://www.fxyz.ru/формулы_по_математике/аналитическая_геометрия/на_плоскости/точки_и_прямые_в_прямоугольной_системе_координат/расстояние_между_двумя_точками/
сначала нужно определить вершину этого прямоугольного треугольника если он таковым является, правильно?
Похожие вопросы
- В системе координат заданы 4 точки. Выяснить, в каких случаях они могут образовать квадрат.
- С++ Максимум трёх чисел Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число
- Принадлежность точек к координатам
- Программа по C++. Определить координаты радиусы и центра сферы.
- Уникальные координаты Си
- Написать программу на С++ определения площади пятиугольника с заданными координатами его вершин.
- Написать программу на C++.Создать класс vector3d, задаваемый тройкой координат. Создать конструктор...
- Срочно нужна помощь (Дана строка, содержащая зашифрованный русский текст. решить нужно на с++
- Помогите написать литсинг на C++ Дана целочисленная квадратная матрица. Определить: ↓↓↓
- Задача о принадлежности точки некоторой области на С++