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

عرض جميع المهام

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

challenge icon

التحدي

سهل

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

المتطلبات:

  • اقرأ المدخل الأول الذي يحتوي على أوصاف المهام المفصولة بفاصلة (مثال: Buy groceries,Call dentist,Finish homework)
  • قم بتقسيم السلسلة النصية بواسطة الفواصل للحصول على المهام الفردية
  • أنشئ vector وأضف كل مهمة إليه
  • اقرأ المدخل الثاني وحوله إلى عدد صحيح (رقم المهمة المراد تمييزها، باستخدام فهرسة تبدأ من 1)
  • اطبع العدد الإجمالي للمهام بالتنسيق: Total tasks: X
  • قم بالمرور عبر الـ vector واطبع كل مهمة مع رقمها (بدءاً من 1)
  • بالنسبة لرقم المهمة المطلوبة، اطبعها بالتنسيق: [X] [task description] (selected)
  • بالنسبة لجميع المهام الأخرى، اطبعها بالتنسيق: [X] [task description]

المدخلات:

  • السطر الأول: أوصاف المهام مفصولة بفاصلة (مثال: Buy groceries,Call dentist,Finish homework)
  • السطر الثاني: عدد صحيح يمثل رقم المهمة المراد تمييزها (فهرسة تبدأ من 1)

المخرجات:

  • السطر الأول: Total tasks: X حيث X هو العدد الإجمالي للمهام
  • الأسطر التالية: كل مهمة مع رقمها بالتنسيق [X] [task description]
  • المهمة المحددة يجب أن يضاف إليها (selected)

جرّب بنفسك

use std::io::{self, BufRead};

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // قراءة المهام المفصولة بفواصل
    let tasks_input = lines.next().unwrap().unwrap();
    
    // قراءة رقم المهمة المراد تمييزها
    let task_number: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
    
    // TODO: اكتب الكود الخاص بك أدناه
    // تقسيم tasks_input بواسطة الفواصل وإنشاء متجه (vector)
    // طباعة العدد الإجمالي للمهام
    // التكرار عبر المهام وطباعة كل واحدة مع رقمها
    // تمييز المهمة المحددة بإضافة " (selected)"
    
}

جميع دروس Logic & Flow