Menu
Coddy logo textTech

Récapitulatif - Compteur de mots

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 34 sur 66.

challenge icon

Défi

Facile

Vous recevrez une phrase en entrée. Comptez combien de fois chaque mot apparaît dans la phrase et stockez les décomptes dans une table de hachage (hash map). Ensuite, affichez chaque mot unique accompagné de son décompte.

Exigences :

  • Importez HashMap depuis std::collections
  • Créez une table de hachage mutable avec les types HashMap<String, i32>
  • Lisez la phrase d'entrée comme une seule ligne
  • Divisez la phrase en mots individuels en utilisant .split_whitespace()
  • Pour chaque mot, utilisez .entry() avec .or_insert(0) pour initialiser le décompte à 0 si le mot n'existe pas
  • Après avoir utilisé .or_insert(0), incrémentez le décompte de 1 pour ce mot
  • Après avoir traité tous les mots, parcourez la table de hachage et affichez chaque mot avec son décompte au format : [word]: [count]

Entrée :

  • Une seule ligne contenant une phrase avec des mots séparés par des espaces (par exemple, hello world hello rust world hello)

Sortie :

  • Une ligne pour chaque mot unique au format : [word]: [count]
  • L'ordre des lignes de sortie peut varier d'un test à l'autre

Essayez vous-même

use std::collections::HashMap;
use std::io;

fn main() {
    // Lire la phrase d'entrée
    let mut sentence = String::new();
    io::stdin().read_line(&mut sentence).expect("Failed to read line");
    let sentence = sentence.trim();
    
    // Créer un hash map mutable pour stocker le décompte des mots
    let mut word_count: HashMap<String, i32> = HashMap::new();
    
    // TODO: Écrivez votre code ci-dessous
    // Diviser la phrase en mots et compter chaque mot
    
    
    // Afficher chaque mot avec son décompte
    
}

Toutes les leçons de Logic & Flow