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

مراجعة - متتبع نقاط بسيط

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

challenge icon

التحدي

سهل

ستتلقى مدخلين: الأول، قائمة مفصولة بفاصلة من درجات الاختبار، والثاني، درجة لإضافتها. قم بإنشاء متجه (vector) من الدرجات الأولية، وأضف الدرجة الجديدة، واحسب متوسط جميع الدرجات، واطبع النتائج.

المتطلبات:

  • اقرأ المدخل الأول الذي يحتوي على درجات مفصولة بفاصلة (على سبيل المثال، 85,92,78)
  • قم بتقسيم السلسلة النصية بواسطة الفواصل وإزالة المسافات الزائدة (trim) لكل عنصر على حدة قبل التحويل إلى عدد صحيح (على سبيل المثال، استخدم .trim() على كل عنصر بعد التقسيم)
  • قم بإنشاء متجه (vector) قابل للتعديل من هذه الدرجات
  • اقرأ المدخل الثاني وقم بتحويله إلى عدد صحيح (قم بإزالة المسافات الزائدة أولاً)
  • استخدم .push() لإضافة الدرجة الجديدة إلى المتجه
  • احسب متوسط جميع الدرجات في المتجه
  • اطبع العدد الإجمالي للدرجات
  • اطبع متوسط الدرجات (كعدد صحيح)

المدخلات:

  • السطر الأول: أعداد صحيحة مفصولة بفاصلة تمثل الدرجات الأولية (على سبيل المثال، 85,92,78)
  • السطر الثاني: عدد صحيح يمثل الدرجة الجديدة المراد إضافتها

المخرجات:

  • السطر الأول: العدد الإجمالي للدرجات
  • السطر الثاني: متوسط الدرجات (كعدد صحيح، مقرب للأسفل)

ملاحظة: قم دائماً باستدعاء .trim() على سطر الإدخال بالكامل وعلى كل عنصر درجة فردي بعد التقسيم بالفاصلة. قد تحتوي سلاسل الإدخال النصية على مسافات بيضاء غير مرئية أو أحرف سطر جديد قد تتسبب في حدوث خطأ (panic) عند التحليل إذا لم تتم إزالتها.

جرّب بنفسك

use std::io;

fn main() {
    // قراءة الدرجات المفصول بينها بفاصلة
    let mut scores_input = String::new();
    io::stdin().read_line(&mut scores_input).expect("Failed to read line");
    
    // قراءة الدرجة الجديدة لإضافتها
    let mut new_score_input = String::new();
    io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
    
    // TODO: اكتب الكود الخاص بك أدناه
    // 1. تقسيم scores_input بواسطة الفواصل وتحويلها إلى أعداد صحيحة
    // 2. إنشاء متجه (vector) قابل للتعديل من هذه الدرجات
    // 3. تحويل new_score_input إلى عدد صحيح
    // 4. إضافة الدرجة الجديدة إلى المتجه
    // 5. حساب متوسط جميع الدرجات
    
    // طباعة العدد الإجمالي للدرجات
    // println!("{}", total_scores);
    
    // طباعة متوسط الدرجات
    // println!("{}", average);
}

جميع دروس Logic & Flow