Trait Geometry para cálculo de área e perímetro
Rust
Medium
traits
Tarefa «Trait Geometry para cálculo de área e perímetro»
Implemente o trait Geometry com os métodos area() -> f64 e perimeter() -> f64. Crie as estruturas Circle (raio), Rectangle (largura, altura) e Triangle (lados a, b, c). Para cada estrutura, implemente o trait Geometry. No main, leia do stdin três linhas: para o círculo o raio (f64), para o retângulo a largura e a altura (f64 separados por espaço), para o triângulo os três lados (f64 separados por espaço). Exiba para cada figura a área e o perímetro separados por espaço, cada par em uma nova linha. A área e o perímetro devem ser arredondados para duas casas decimais. Se o triângulo não existir (a desigualdade triangular não for satisfeita), exiba "Invalid triangle" em vez dos números.
Formato de Entrada
Três linhas. A primeira: um número f64 — o raio do círculo. A segunda: dois números f64 separados por espaço — largura e altura do retângulo. A terceira: três números f64 separados por espaço — os lados do triângulo.
Formato de Saída
Três linhas. Para as duas primeiras figuras: área e perímetro separados por espaço, arredondados para duas casas decimais. Para o triângulo: área e perímetro separados por espaço, arredondados para duas casas decimais, ou a string "Invalid triangle".
Exemplos
Exemplo 1
ENTRADA
1.0
2.5 3.5
1.0 2.0 3.0
SAÍDA
3.14 6.28
8.75 12.00
Invalid triangle
Exemplo 2
ENTRADA
3
кот
дом
стол
SAÍDA
кот
дом
стол
Exemplo 3
ENTRADA
2
я
мы
SAÍDA
я
мы
main.rs