Menu
Coddy logo textTech

Podsumowanie – znajdowanie elementu

Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 41 z 66.

challenge icon

Wyzwanie

Łatwy

Otrzymasz dwa dane wejściowe. Pierwsze to lista liczb oddzielonych przecinkami (np. 10,20,30,40), a drugie to liczba, której należy szukać. Przekształć liczby oddzielone przecinkami w wektor, a następnie wyszukaj podaną liczbę. Użyj .iter().position(), aby znaleźć indeks szukanej liczby. Metoda ta zwraca wartość typu Option<usize>. Obsłuż oba przypadki za pomocą match i wypisz odpowiedni komunikat.

Wymagania:

  • Odczytaj pierwsze dane wejściowe (liczby oddzielone przecinkami) i usuń białe znaki z początku i końca
  • Podziel dane wejściowe po przecinkach i przekształć każdą część w i32, aby utworzyć wektor
  • Odczytaj drugie dane wejściowe (szukaną liczbę) i usuń białe znaki z początku i końca
  • Przekształć szukaną liczbę w i32
  • Użyj .iter().position(|&x| x == target), aby wyszukać podaną liczbę w wektorze
  • Użyj wyrażenia match, aby obsłużyć wartość Option zwracaną przez .position()
  • W gałęzi Some(index) wypisz: Found at index [index]
  • W gałęzi None wypisz: Not found

Dane wejściowe:

  • Pierwszy wiersz: liczby oddzielone przecinkami (np. 10,20,30,40)
  • Drugi wiersz: szukana liczba (np. 30)

Wynik:

  • Jeśli liczba zostanie znaleziona: Found at index [index]
  • Jeśli liczba nie zostanie znaleziona: Not found

Spróbuj swoich sił

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

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // Wczytaj liczby rozdzielone przecinkami
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Wczytaj szukaną liczbę
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Przekształć liczby rozdzielone przecinkami w wektor
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // Przekształć szukaną liczbę
    let target: i32 = target_input.parse().unwrap();
    
    // TODO: Napisz swój kod poniżej
    // Użyj .iter().position(), aby znaleźć szukaną liczbę, oraz match, aby obsłużyć wynik
    
}

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Rust online