Другие языки программирования и технологии

dev c++. помогите плз сделать задачу найти наибольшую высоту треугольника из сторонами a,b,c

#include <iostream>
using namespace std;
bool exists(const double, const double, const double);
double perimetre(const double, const double, const double);
double area(const double, const double, const double);
double max_height(const double, const double, const double);
int main() {
    system("chcp 1251 > nul");
    cout << " Введите стороны треугольника: ";
    double a, b, c;
    cin >> a >> b >> c;
    if (exists(a, b, c)) cout << " Наибольшая высота = " << max_height(a, b, c) << endl;
    else cout << " Треугольник не существует! \n\a";
    cin.get(); cin.get();
    return 0;
}
double area(const double _a, const double _b, const double _c) {
    double p = perimetre(_a, _b, _c) / 2;
    return sqrt(p * (p - _a) * (p - _b) * (p - _c));
}
double max_height(const double _a, const double _b, const double _c) {
    double ar2 = 2 * area(_a, _b, _c);
    return max(max(ar2 / _a, ar2 / _b), ar2 / _c);
}
bool exists(const double _a, const double _b, const double _c) {
    double maximum = max(max(_a, _b), _c);
    if (perimetre(_a, _b, _c) - maximum <= maximum) return false;
    return true;
}
double perimetre(const double _a, const double _b, const double _c) { return _a + _b + _c; }
Lesha Berozovik
Lesha Berozovik
82 369
Лучший ответ
#include<iostream>
#include<cmath>
using namespace std;
int main(){
float a,b,c,y; cout<<"a b c ? "; cin>>a>>b>>c; y=(a+b+c)/2;
y=2*sqrt(y*(y-a)*(y-b)*(y-c)); a=y/a; b=y/b; c=y/c;
y=a>b? (a>c?a:c): (b>c?b:c); cout<< y; cin.get(); cin.get();}
уроки надо сразу делать, а ни в 22:30

Похожие вопросы