Menu
Coddy logo textTech

צפייה בכל המשימות

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

challenge icon

אתגר

קל

יתקבלו שני קלטים: הראשון הוא רשימה של משימות קיימות המופרדות בפסיקים, והשני הוא מספר המשימה להצגה (האינדקס מתחיל ב־1). קראו את שני הקלטים, צרו וקטור מהמשימות והציגו את כל המשימות עם המספרים שלהן, תוך הדגשת המשימה המבוקשת.

דרישות:

  • קראו את הקלט הראשון, שמכיל תיאורי משימות המופרדים בפסיקים (לדוגמה, Buy groceries,Call dentist,Finish homework)
  • פצלו את המחרוזת לפי פסיקים כדי לקבל משימות נפרדות
  • צרו וקטור והוסיפו אליו כל משימה
  • קראו את הקלט השני והמירו אותו למספר שלם (מספר המשימה להדגשה, כאשר האינדקס מתחיל ב־1)
  • הדפיסו את מספר המשימות הכולל בתבנית: Total tasks: X
  • עברו על הווקטור והדפיסו כל משימה עם המספר שלה (האינדקס מתחיל ב־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 לפי פסיקים וצור וקטור
    // הדפס את המספר הכולל של המשימות
    // עבור על המשימות והדפס כל אחת עם המספר שלה
    // הדגש את המשימה שנבחרה על ידי הוספת " (selected)" לסופה
    
}

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

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