Программирование алгоритмов линейной структуры. написать код на с++
Даны три стороны треугольника a,b,c. Определить
углы треугольника.
a=13,5
b=20,8
c=29,6

Serega1418 Serega1418    3   19.11.2020 18:53    1

Ответы
21Demon21 21Demon21  19.12.2020 18:58

117.725°, 23.8109°, 38.4643°

Объяснение:

Можно использовать теорему косинусов:

c^2=a^2+b^2-2ab\cos\gamma\\\cos\gamma=\dfrac{a^2+b^2-c^2}{2ab}

Считаем такие дроби, берем арккосинус, получаем угол в радианах. Можно умножить на 180/π, тогда получится угол в градусах.

По-хорошему, можно определить функцию, которая будет вычислять угол, тогда код будет опрятнее, понятнее, и в неём будет сложнее допустить ошибку. Но я этого делать не буду :)

Код (C++):

#define _USE_MATH_DEFINES

#include <iostream>

#include <cmath>

int main() {

 double a, b, c;

 std::cin >> a >> b >> c;

 std::cout << acos((a * a + b * b - c * c)/(2 * a * b)) * 180/M_PI << " ";

 std::cout << acos((c * c + b * b - a * a)/(2 * c * b)) * 180/M_PI << " ";

 std::cout << acos((a * a + c * c - b * b)/(2 * a * c)) * 180/M_PI << " ";

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика