Определить вид треугольника - C (СИ)
Формулировка задачи:
Даны вещественные положительные числа a, b, c. Если существует треугольник со сторонами a, b, c, то: определить его вид (остроугольный, тупоугольный, прямоугольный).
Решение задачи: «Определить вид треугольника»
textual
Листинг программы
int triangle_type(double a, double b, double c) { if (a > b) { return triangle(b, a, c); } if (b > c) { return triangle(a, c, b); } if (a + b < c) { return 0; } double eps = 0.00001 * a; double diff = c * c - (a * a + b * b); if (diff < -eps) { return 1; } if (diff > eps) { return 2; } return 3; }
Объяснение кода листинга программы
В данном коде определена функция triangle_type, которая принимает три аргумента типа double: a, b и c. Эта функция вычисляет тип треугольника по его сторонам a, b и c.
- Сначала выполняется проверка: если a больше b, то происходит рекурсивный вызов функции triangle с аргументами b, a и c.
- Если b больше c, то также происходит рекурсивный вызов функции triangle, но уже с аргументами a, c и b.
- Если ни одно из условий не выполнилось, то выполняется проверка: если сумма a и b меньше c, то возвращается значение 0.
- Затем определяется переменная eps, которая равна 0.00001 умноженное на a.
- Далее вычисляется разница между c в квадрате и суммой квадратов a и b (diff = cc - (aa + b*b)).
- Если diff меньше -eps, то возвращается значение 1.
- Если diff больше eps, то возвращается значение 2.
- В противном случае возвращается значение 3. Таким образом, функция triangle_type определяет тип треугольника по его сторонам a, b и c. Возвращаемое значение функции равно 0, если треугольник является вырожденным (т.е. имеет длину стороны равную нулю или отрицательной величине), 1, если треугольник является остроугольным, и 2, если треугольник является прямоугольным.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д