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

مراجعة - البحث عن عنصر

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

challenge icon

التحدي

سهل

ستتلقى مدخلين. المدخل الأول هو قائمة من الأرقام مفصولة بفاصلة (على سبيل المثال، 10,20,30,40)، والمدخل الثاني هو الرقم المستهدف للبحث عنه. قم بتحليل الأرقام المفصولة بفاصلة إلى vector، ثم ابحث عن الرقم المستهدف. استخدم .iter().position() للعثور على فهرس (index) الرقم المستهدف، والذي يعيد Option<usize>. تعامل مع كلتا الحالتين باستخدام match واطبع الرسالة المناسبة.

المتطلبات:

  • اقرأ المدخل الأول (الأرقام المفصولة بفاصلة) وقم بإزالة المسافات الزائدة (trim)
  • قم بتقسيم المدخل بواسطة الفواصل وتحليل كل جزء إلى i32 لإنشاء vector
  • اقرأ المدخل الثاني (الرقم المستهدف) وقم بإزالة المسافات الزائدة (trim)
  • قم بتحليل الرقم المستهدف إلى i32
  • استخدم .iter().position(|&x| x == target) للبحث عن الهدف في الـ vector
  • استخدم تعبير match للتعامل مع الـ Option الذي يعيده .position()
  • في حالة Some(index)، اطبع: Found at index [index]
  • في حالة None، اطبع: Not found

المدخلات:

  • السطر الأول: أرقام مفصولة بفاصلة (على سبيل المثال، 10,20,30,40)
  • السطر الثاني: الرقم المستهدف للبحث عنه (على سبيل المثال، 30)

المخرجات:

  • إذا تم العثور على الهدف: Found at index [index]
  • إذا لم يتم العثور على الهدف: Not found

جرّب بنفسك

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

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // قراءة الأرقام المفصولة بفواصل
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // قراءة الرقم المستهدف
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // تحليل الأرقام المفصولة بفواصل إلى متجه (vector)
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // تحليل الرقم المستهدف
    let target: i32 = target_input.parse().unwrap();
    
    // TODO: اكتب كودك أدناه
    // استخدم .iter().position() للعثور على الهدف و match للتعامل مع النتيجة
    
}

جميع دروس Logic & Flow