Menu
Coddy logo textTech

Resumen - Encontrar un elemento

Parte de la sección Logic & Flow del Journey de Rust de Coddy — lección 41 de 66.

challenge icon

Desafío

Fácil

Recibirás dos entradas. La primera entrada es una lista de números separados por comas (por ejemplo, 10,20,30,40), y la segunda entrada es un número objetivo a buscar. Analiza los números separados por comas en un vector, luego busca el número objetivo. Usa .iter().position() para encontrar el índice del número objetivo, el cual devuelve un Option<usize>. Maneja ambos casos usando match e imprime el mensaje apropiado.

Requisitos:

  • Lee la primera entrada (números separados por comas) y elimina los espacios en blanco
  • Divide la entrada por comas y analiza cada parte como i32 para crear un vector
  • Lee la segunda entrada (número objetivo) y elimina los espacios en blanco
  • Analiza el número objetivo como i32
  • Usa .iter().position(|&x| x == target) para buscar el objetivo en el vector
  • Usa una expresión match para manejar el Option devuelto por .position()
  • En el brazo Some(index), imprime: Found at index [index]
  • En el brazo None, imprime: Not found

Entrada:

  • Primera línea: Números separados por comas (por ejemplo, 10,20,30,40)
  • Segunda línea: Un número objetivo a buscar (por ejemplo, 30)

Salida:

  • Si se encuentra el objetivo: Found at index [index]
  • Si no se encuentra el objetivo: Not found

Pruébalo tú mismo

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

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // Leer los números separados por comas
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Leer el número objetivo
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // Convertir los números separados por comas en un vector
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // Convertir el número objetivo
    let target: i32 = target_input.parse().unwrap();
    
    // TODO: Escribe tu código abajo
    // Usa .iter().position() para encontrar el objetivo y match para manejar el resultado
    
}

Todas las lecciones de Logic & Flow