
Ввести стороны треугольника. Вычислить все углы треугольника (в градусах) с++


Ответы на вопрос

Ответ:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a, b, c, c1, c2, c3, temp;//объявляем переменные для сторон треугольника, его углов и временную переменную
const double PI = 3.14159265;//объявляем константу для числа пи
cin >> a >> b >> c;//считываем значения сторон
if (a + b < c || a + c < b || b + c < a)//проверяем, являются ли введенные данные сторонами треугольника. если одна из сторон больше суммы двух других
cout << "not triangle ";//то посторить треугольник с задаными сторонами невозможно, о чем и выводится сообщение
else//в противном случае
{
/*рассчитываем значения углов пользуясь теоремой косинусов
(Квадрат стороны треугольника равен сумме квадратов двух других сторон
минус удвоенное произведение этих сторон на косинус угла между ними)
отсюда угол между двух сторон треугольника равен арккосинусу частности разности суммы квадратов этих сторон
и квадрата его третьей стороны и удвоенного произведения этих сторон (надеюсь, понятно).
т.к. функция acos в С++ возвращает значение в радианах, переводим в градусы, умножая на 180 и деля на пи. */
c1 = acos((a * a + b * b - c * c) / (2 * a * b)) * 180 / PI;
c2 = acos((a * a + c * c - b * b) / (2 * a * c)) * 180 / PI;
c3 = acos((b * b + c * c - a * a) / (2 * b * c)) * 180 / PI;
//выводим расчетные значения углов
cout << "corner1 = " << c1;
cout << "corner2 = " << c2;
cout << "corner3 = " << c3;
}
}
Объяснение:



Вот пример кода на C++, который вычисляет все углы треугольника, если известны длины его сторон. Для решения используется теорема косинусов:
cpp#include <iostream>
#include <cmath>
int main() {
double side1, side2, side3;
std::cout << "Введите длины сторон треугольника: ";
std::cin >> side1 >> side2 >> side3;
// Вычисление углов треугольника
double angle1 = std::acos((side2 * side2 + side3 * side3 - side1 * side1) / (2 * side2 * side3));
double angle2 = std::acos((side1 * side1 + side3 * side3 - side2 * side2) / (2 * side1 * side3));
double angle3 = std::acos((side1 * side1 + side2 * side2 - side3 * side3) / (2 * side1 * side2));
// Перевод углов из радиан в градусы
angle1 = angle1 * 180 / M_PI;
angle2 = angle2 * 180 / M_PI;
angle3 = angle3 * 180 / M_PI;
// Вывод углов треугольника
std::cout << "Угол 1: " << angle1 << " градусов" << std::endl;
std::cout << "Угол 2: " << angle2 << " градусов" << std::endl;
std::cout << "Угол 3: " << angle3 << " градусов" << std::endl;
return 0;
}
Пользователь будет приглашен ввести длины сторон треугольника, а затем программа вычислит и выведет значения всех углов треугольника в градусах. Обратите внимание, что для использования функции std::acos
вам может потребоваться подключить заголовочный файл <cmath>
, а для вывода результатов - <iostream>
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili