Определить вид треугольника - 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.

  1. Сначала выполняется проверка: если a больше b, то происходит рекурсивный вызов функции triangle с аргументами b, a и c.
  2. Если b больше c, то также происходит рекурсивный вызов функции triangle, но уже с аргументами a, c и b.
  3. Если ни одно из условий не выполнилось, то выполняется проверка: если сумма a и b меньше c, то возвращается значение 0.
  4. Затем определяется переменная eps, которая равна 0.00001 умноженное на a.
  5. Далее вычисляется разница между c в квадрате и суммой квадратов a и b (diff = cc - (aa + b*b)).
  6. Если diff меньше -eps, то возвращается значение 1.
  7. Если diff больше eps, то возвращается значение 2.
  8. В противном случае возвращается значение 3. Таким образом, функция triangle_type определяет тип треугольника по его сторонам a, b и c. Возвращаемое значение функции равно 0, если треугольник является вырожденным (т.е. имеет длину стороны равную нулю или отрицательной величине), 1, если треугольник является остроугольным, и 2, если треугольник является прямоугольным.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5
Похожие ответы