Menu
Coddy logo textTech

Récapitulatif - Trouver un élément

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 41 sur 66.

challenge icon

Défi

Facile

Vous recevrez deux entrées. La première entrée est une liste de nombres séparés par des virgules (par exemple, 10,20,30,40), et la deuxième entrée est un nombre cible à rechercher. Analysez les nombres séparés par des virgules dans un vecteur, puis recherchez le nombre cible. Utilisez .iter().position() pour trouver l'index du nombre cible, ce qui renvoie un Option<usize>. Gérez les deux cas en utilisant match et affichez le message approprié.

Exigences :

  • Lire la première entrée (nombres séparés par des virgules) et supprimer les espaces blancs
  • Diviser l'entrée par des virgules et analyser chaque partie en i32 pour créer un vecteur
  • Lire la deuxième entrée (nombre cible) et supprimer les espaces blancs
  • Analyser le nombre cible en i32
  • Utiliser .iter().position(|&x| x == target) pour rechercher la cible dans le vecteur
  • Utiliser une expression match pour gérer l'Option renvoyée par .position()
  • Dans la branche Some(index), afficher : Found at index [index]
  • Dans la branche None, afficher : Not found

Entrée :

  • Première ligne : Nombres séparés par des virgules (par exemple, 10,20,30,40)
  • Deuxième ligne : Un nombre cible à rechercher (par exemple, 30)

Sortie :

  • Si la cible est trouvée : Found at index [index]
  • Si la cible n'est pas trouvée : Not found

Essayez vous-même

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

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // Lire les nombres séparés par des virgules
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Lire le nombre cible
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Analyser les nombres séparés par des virgules dans un vecteur
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // Analyser le nombre cible
    let target: i32 = target_input.parse().unwrap();
    
    // TODO : Écrivez votre code ci-dessous
    // Utilisez .iter().position() pour trouver la cible et match pour gérer le résultat
    
}

Toutes les leçons de Logic & Flow