Menu
Coddy logo textTech

Итоги — Счетчик слов

Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 34 из 66.

challenge icon

Задание

Легко

Вы получите предложение в качестве входных данных. Подсчитайте, сколько раз каждое слово встречается в предложении, и сохраните результаты в хеш-карте (hash map). Затем выведите каждое уникальное слово вместе с его количеством.

Требования:

  • Импортируйте HashMap из std::collections
  • Создайте изменяемую хеш-карту с типами HashMap<String, i32>
  • Прочитайте входное предложение как одну строку
  • Разделите предложение на отдельные слова, используя .split_whitespace()
  • Для каждого слова используйте .entry() с .or_insert(0), чтобы инициализировать счетчик значением 0, если слово еще не существует
  • После использования .or_insert(0), увеличьте счетчик для этого слова на 1
  • После обработки всех слов переберите хеш-карту и выведите каждое слово с его количеством в формате: [word]: [count]

Ввод:

  • Одна строка, содержащая предложение со словами, разделенными пробелами (например, hello world hello rust world hello)

Вывод:

  • По одной строке для каждого уникального слова в формате: [word]: [count]
  • Порядок строк в выводе может меняться от запуска к запуску

Попробуйте сами

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

fn main() {
    // Считать входное предложение
    let mut sentence = String::new();
    io::stdin().read_line(&mut sentence).expect("Failed to read line");
    let sentence = sentence.trim();
    
    // Создать изменяемую хеш-карту для хранения количества слов
    let mut word_count: HashMap<String, i32> = HashMap::new();
    
    // TODO: Напишите свой код ниже
    // Разделить предложение на слова и посчитать каждое слово
    
    
    // Вывести каждое слово и его количество
    
}

Все уроки раздела Logic & Flow