Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // подключаем директивы
- #include <iostream> // для cin и cout
- #include <math.h> // для sqrt (извлечение корня числа)
- using namespace std; // используем простарнство имён std
- int main()
- {
- int a,b,c; // объявляем переменные типа int для хранения целых чисел
- cin >> a >> b >> c; // считываем из входного потока данных (из консоли) три числа
- double S, mx, mn, md, p = (a+b+c)/2; // объявляем переменные типа double для хранения вещественных чисел
- if(a+b>c && c+a>b && c+b>a && (a*a+b*b>c*c || a*a+c*c>b*b || c*c+b*b>a*a)) // если сумма любых двух сторон больше третьей стороны и треугольник остроугольный (теорема косинусов), то:
- { //
- mx = max(a, max(b, c)); // переменной mx присваиваем максимальное из трёх чисел a, b и c
- mn = min(a, min(b, c)); // переменной mn присваиваем минимальное из трёх чисел a, b и c
- md = a+b+c-mx-mn; // переменной md присваиваем значение выражения a+b+c-mx-mn (среднее число)
- S = sqrt(p*(p-a)*(p-b)*(p-c)); // переменной md присваиваем значение выражения sqrt(p*(p-a)*(p-b)*(p-c))
- cout << S << ' ' << mx << ' ' << md << ' ' << mn; // выводим все необходимые данные
- } else { // иначе:
- cout << "No"; //выводим "No"
- }
- return 0; // завершаем программу
- }
- /* Тест, который проходит по условию задачи: 5, 4, 6 --> Площадь = 6.48,
- Числа в порядке убывания - 6 5 4
- Тест, который не проходит: 5 3 15 --> "No" не является остроугольным треугольником
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement