Trait Geometry pour le calcul de l’aire et du périmètre
Rust
Medium
traits
Tâche «Trait Geometry pour le calcul de l’aire et du périmètre»
Implémentez le trait Geometry avec les méthodes area() -> f64 et perimeter() -> f64. Créez les structures Circle (rayon), Rectangle (largeur, hauteur) et Triangle (côtés a, b, c). Pour chaque structure, implémentez le trait Geometry. Dans main, lisez depuis stdin trois lignes : pour le cercle le rayon (f64), pour le rectangle la largeur et la hauteur (f64 séparés par un espace), pour le triangle les trois côtés (f64 séparés par un espace). Affichez pour chaque figure l’aire et le périmètre séparés par un espace, chaque paire sur une nouvelle ligne. Arrondissez l’aire et le périmètre à deux chiffres après la virgule. Si le triangle n’existe pas (l’inégalité triangulaire n’est pas vérifiée), affichez "Invalid triangle" à la place des nombres.
Format d\ entrée
Trois lignes. La première : un nombre f64 — le rayon du cercle. La deuxième : deux nombres f64 séparés par un espace — la largeur et la hauteur du rectangle. La troisième : trois nombres f64 séparés par un espace — les côtés du triangle.
Format de sortie
Trois lignes. Pour les deux premières figures : l’aire et le périmètre séparés par un espace, arrondis à deux chiffres. Pour le triangle : l’aire et le périmètre séparés par un espace, arrondis à deux chiffres, ou la chaîne "Invalid triangle".
Exemples
Exemple 1
ENTRÉE
1.0
2.5 3.5
1.0 2.0 3.0
SORTIE
3.14 6.28
8.75 12.00
Invalid triangle
Exemple 2
ENTRÉE
3
кот
дом
стол
SORTIE
кот
дом
стол
Exemple 3
ENTRÉE
2
я
мы
SORTIE
я
мы
main.rs