Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص - عداد الكلمات

جزء من قسم Logic & Flow في رحلة Rust على Coddy — الدرس 34 من 66.

challenge icon

التحدي

سهل

ستتلقى جملة كمدخل. قم بعدد مرات ظهور كل كلمة في الجملة وقم بتخزين الأعداد في خريطة هاش (hash map). ثم اطبع كل كلمة فريدة مع عدد مراتها.

المتطلبات:

  • استورد HashMap من std::collections
  • أنشئ خريطة هاش قابلة للتعديل (mutable) بالأنواع 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();
    
    // إنشاء خريطة هاش (hash map) قابلة للتعديل لتخزين عدد الكلمات
    let mut word_count: HashMap<String, i32> = HashMap::new();
    
    // TODO: اكتب كودك أدناه
    // تقسيم الجملة إلى كلمات وعد كل كلمة
    
    
    // طباعة كل كلمة مع عدد تكرارها
    
}

جميع دروس Logic & Flow