Трейт 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