Menu
Coddy logo textTech

Итоги: поиск элемента

Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 41 из 66.

challenge icon

Задание

Легко

Вы получите два входных значения. Первое значение — это список чисел, разделенных запятыми (например, 10,20,30,40), а второе значение — целевое число для поиска. Преобразуйте числа, разделенные запятыми, в вектор, а затем выполните поиск целевого числа. Используйте .iter().position() для поиска индекса целевого числа, который возвращает Option<usize>. Обработайте оба случая с помощью match и выведите соответствующее сообщение.

Требования:

  • Прочитайте первый ввод (числа, разделенные запятыми) и удалите лишние пробелы
  • Разделите строку по запятым и преобразуйте каждую часть в i32 для создания вектора
  • Прочитайте второй ввод (целевое число) и удалите лишние пробелы
  • Преобразуйте целевое число в i32
  • Используйте .iter().position(|&x| x == target) для поиска цели в векторе
  • Используйте выражение 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();
    
    // Разобрать числа, разделенные запятыми, в вектор
    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