Даны три вершины треугольника. Длины сторон треугольника,
Найдите высоту. C ++
Ответы
Написал на С++
#include <iostream>
#include <windows.h>//для русской раскладки
#include <cmath>//для sqrt и pow
using namespace std;
int main()
{
SetConsoleCP(1251);//подключаем русскую раскладку
SetConsoleOutputCP(1251);
int Ax, Ay, Bx, By, Cx, Cy;//координаты вершин треугольника
int AB, AC, BC; //длины сторон
int hA, hB, hC;//высоты треугольника
int p; //полупериметр
cout << "Введите координаты вершины А треугольника:" << endl;
cin >> Ax >> Ay;
cout << "Введите координаты вершины B треугольника:" << endl;
cin >> Bx >> By;
cout << "Введите координаты вершины C треугольника:" << endl;
cin >> Cx >> Cy;
AB = sqrt(pow(Ax - Bx, 2) + pow(Ay - By, 2));
AC = sqrt(pow(Ax - Cx, 2) + pow(Ay - Cy, 2));
BC = sqrt(pow(Bx - Cx, 2) + pow(By - Cy, 2));
p = (AB + AC + BC) / 2;
hA = (2 * sqrt(p * (p - AB) * (p - AC) * (p - BC))) / BC;
hB = (2 * sqrt(p * (p - AB) * (p - AC) * (p - BC))) / AC;
hC = (2 * sqrt(p * (p - AB) * (p - AC) * (p - BC))) / AB;
cout << "Сторона AB = " << AB << endl;
cout << "Сторона AC = " << AC << endl;
cout << "Сторона BC = " << BC << endl;
cout << "Высота, опущенная из вершины А равна: " << hA << endl;
cout << "Высота, опущенная из вершины B равна: " << hB << endl;
cout << "Высота, опущенная из вершины C равна: " << hC << endl;
system("pause");
return 0;
}