Menu
Coddy logo textTech

סיכום – מונה מילים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Rust של Coddy. שיעור 34 מתוך 66.

challenge icon

אתגר

קל

תקבל משפט כקלט. ספור כמה פעמים כל מילה מופיעה במשפט ושמור את הספירות במפת גיבוב. לאחר מכן הדפס כל מילה ייחודית יחד עם מספר הפעמים שהיא מופיעה.

דרישות:

  • ייבא את 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: כתבו את הקוד שלכם למטה
    // פצלו את המשפט למילים וספרו את ההופעות של כל מילה
    
    
    // הדפיסו כל מילה עם מספר ההופעות שלה
    
}

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר Rust אונליין