Menu
Coddy logo textTech

Zusammenfassung – Wortzähler

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 34 von 66.

challenge icon

Aufgabe

Einfach

Sie erhalten einen Satz als Eingabe. Zählen Sie, wie oft jedes Wort in dem Satz vorkommt, und speichern Sie die Häufigkeiten in einer Hash-Map. Geben Sie dann jedes eindeutige Wort zusammen mit seiner Anzahl aus.

Anforderungen:

  • Importieren Sie HashMap aus std::collections
  • Erstellen Sie eine veränderbare Hash-Map mit den Typen HashMap<String, i32>
  • Lesen Sie den Eingabesatz als eine einzelne Zeile ein
  • Teilen Sie den Satz mit .split_whitespace() in einzelne Wörter auf
  • Verwenden Sie für jedes Wort .entry() mit .or_insert(0), um den Zähler auf 0 zu initialisieren, falls das Wort noch nicht existiert
  • Erhöhen Sie nach der Verwendung von .or_insert(0) den Zähler für dieses Wort um 1
  • Iterieren Sie nach der Verarbeitung aller Wörter über die Hash-Map und geben Sie jedes Wort mit seiner Anzahl im Format [word]: [count] aus

Eingabe:

  • Eine einzelne Zeile, die einen Satz mit durch Leerzeichen getrennten Wörtern enthält (z. B. hello world hello rust world hello)

Ausgabe:

  • Eine Zeile für jedes eindeutige Wort im Format: [word]: [count]
  • Die Reihenfolge der Ausgabezeilen kann zwischen den Testläufen variieren

Probier es selbst

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

fn main() {
    // Eingabesatz lesen
    let mut sentence = String::new();
    io::stdin().read_line(&mut sentence).expect("Failed to read line");
    let sentence = sentence.trim();
    
    // Erstelle eine veränderbare Hash-Map, um die Wortanzahl zu speichern
    let mut word_count: HashMap<String, i32> = HashMap::new();
    
    // TODO: Schreiben Sie Ihren Code unten
    // Den Satz in Wörter aufteilen und jedes Wort zählen
    
    
    // Jedes Wort mit seiner Anzahl ausgeben
    
}

Alle Lektionen in Logic & Flow