Menu
CoddyTech

Riepilogo - Trovare un elemento

Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 41 di 66.

challenge icon

Sfida

Facile

Riceverai due input. Il primo input è un elenco di numeri separati da virgole (ad es., 10,20,30,40) e il secondo input è un numero da cercare. Analizza i numeri separati da virgole inserendoli in un vettore, quindi cerca il numero specificato. Usa .iter().position() per trovare l’indice del numero specificato; il metodo restituisce un Option<usize>. Gestisci entrambi i casi usando match e stampa il messaggio appropriato.

Requisiti:

  • Leggi il primo input (numeri separati da virgole) e rimuovi gli spazi bianchi
  • Dividi l’input in corrispondenza delle virgole e analizza ogni parte come i32 per creare un vettore
  • Leggi il secondo input (il numero da cercare) e rimuovi gli spazi bianchi
  • Analizza il numero da cercare come i32
  • Usa .iter().position(|&x| x == target) per cercare il numero specificato nel vettore
  • Usa un’espressione match per gestire il valore Option restituito da .position()
  • Nel braccio Some(index), stampa: Found at index [index]
  • Nel braccio None, stampa: Not found

Input:

  • Prima riga: numeri separati da virgole (ad es., 10,20,30,40)
  • Seconda riga: un numero da cercare (ad es., 30)

Output:

  • Se il numero viene trovato: Found at index [index]
  • Se il numero non viene trovato: Not found

Provalo tu

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

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // Leggi i numeri separati da virgole
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Leggi il numero da cercare
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Converti i numeri separati da virgole in un vettore
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // Converti il numero da cercare
    let target: i32 = target_input.parse().unwrap();
    
    // TODO: Scrivi il tuo codice qui sotto
    // Usa .iter().position() per trovare il numero cercato e match per gestire il risultato
    
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Rust online