Podsumowanie – licznik słów
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 34 z 66.
Wyzwanie
ŁatwyOtrzymasz zdanie jako dane wejściowe. Policz, ile razy każde słowo występuje w zdaniu, i zapisz liczby wystąpień w mapie hashującej. Następnie wypisz każde unikalne słowo wraz z liczbą jego wystąpień.
Wymagania:
- Zaimportuj
HashMapzstd::collections - Utwórz mutowalną mapę hashującą o typie
HashMap<String, i32> - Odczytaj zdanie wejściowe jako pojedynczy wiersz
- Podziel zdanie na pojedyncze słowa za pomocą
.split_whitespace() - Dla każdego słowa użyj
.entry()wraz z.or_insert(0), aby zainicjować licznik wartością0, jeśli słowo nie istnieje - Po użyciu
.or_insert(0)zwiększ licznik tego słowa o1 - Po przetworzeniu wszystkich słów przeiteruj po mapie hashującej i wypisz każde słowo wraz z liczbą jego wystąpień w formacie:
[word]: [count]
Dane wejściowe:
- Pojedynczy wiersz zawierający zdanie, w którym słowa są oddzielone spacjami (np.
hello world hello rust world hello)
Wynik:
- Jeden wiersz dla każdego unikalnego słowa w formacie:
[word]: [count] - Kolejność wierszy wyjściowych może się różnić między uruchomieniami testów
Spróbuj swoich sił
use std::collections::HashMap;
use std::io;
fn main() {
// Wczytaj zdanie wejściowe
let mut sentence = String::new();
io::stdin().read_line(&mut sentence).expect("Failed to read line");
let sentence = sentence.trim();
// Utwórz modyfikowalną mapę mieszającą do przechowywania liczby wystąpień słów
let mut word_count: HashMap<String, i32> = HashMap::new();
// TODO: Napisz swój kod poniżej
// Podziel zdanie na słowa i policz wystąpienia każdego z nich
// Wypisz każde słowo wraz z liczbą jego wystąpień
}Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online