Трейт Geometry для вычисления площади и периметра

Rust Средний traits

Задача «Трейт Geometry для вычисления площади и периметра»

Реализуйте трейт Geometry с методами area() -> f64 и perimeter() -> f64. Создайте структуры Circle (радиус), Rectangle (ширина, высота) и Triangle (стороны a, b, c). Для каждой структуры реализуйте трейт Geometry. В main прочитайте из stdin три строки: для круга радиус (f64), для прямоугольника ширину и высоту (f64 через пробел), для треугольника три стороны (f64 через пробел). Выведите для каждой фигуры площадь и периметр через пробел, каждую пару на новой строке. Площадь и периметр округлите до двух знаков после запятой. Если треугольник не существует (не выполняется неравенство треугольника), выведите "Invalid triangle" вместо чисел.

Формат ввода

Три строки. Первая: одно число f64 — радиус круга. Вторая: два числа f64 через пробел — ширина и высота прямоугольника. Третья: три числа f64 через пробел — стороны треугольника.

Формат вывода

Три строки. Для первых двух фигур: площадь и периметр через пробел, округлённые до двух знаков. Для треугольника: площадь и периметр через пробел, округлённые до двух знаков, или строка "Invalid triangle".

Примеры

Пример 1

ВВОД
1.0 2.5 3.5 1.0 2.0 3.0
ВЫВОД
3.14 6.28 8.75 12.00 Invalid triangle

Пример 2

ВВОД
3 кот дом стол
ВЫВОД
кот дом стол

Пример 3

ВВОД
2 я мы
ВЫВОД
я мы
main.rs