ML 24 Радиус вписанной/описанной в треугольник окружности

Условие задачи :

Треугольник задан длинами сторон. Найти радиус вписанной r и описанной R окружностей.

Тесты :

 a  b  c  r  R
3 4 5  1  90
2 2 6  Не существует  Не существует
3.1 4.1 5.1  1.033199  102.970967

Код программы :

Алгоритм :

Проверяем, или образуют данные стороны треугольник. В треугольнике сумма длин любых двух сторон больше длины третьей (или равна её длине, если треугольник вырожденный)

Если условие не выполняется ,сообщаем об этом пользователю :

Если треугольник существует, проводим следующие вычисления (Порядок важен). :

  1. Вычисляем полупериметр p треугольника :p = \frac{a + b + c}{2}
  2. Находим площадь S по формуле Герона : S = \sqrt{p(p-a)(p-b)(p-c)}
  3. Вычисляем радиус r вписанной окружности по формуле : r = \frac{S}{p}
  4. Вычисляем радиус описанной окружности R по формуле : R = \frac{abc}{4S}

Работающая версия программы на Ideone.con :

Ideone.com