Menu
Coddy logo textTech

Modificación de Arrays

Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 58 de 75.

Además de acceder a los elementos de un array, también puedes modificarlos. Para modificar un elemento específico, primero necesitas mut para hacer que el array sea modificable, y después puedes asignarle un nuevo valor usando su índice.

Aquí tienes un ejemplo:

let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);

Salida:

apple, orange, cherry

banana se cambió por una orange.

challenge icon

Desafío

Fácil

Crea un programa que reciba 3 entradas:

  • La primera entrada es una cadena de valores separados por comas (por ejemplo, 1,2,3,4,5) de longitud 5.
  • La segunda entrada es un índice
  • La tercera entrada es un elemento nuevo

El código inicial ya convierte la cadena separada por comas en un array mutable llamado arr. Puedes trabajar directamente con él sin escribir ningún código de conversión.

El programa imprimirá un array modificado al cambiar el elemento del índice almacenado en la segunda entrada por el valor de la tercera entrada.

Pruébalo tú mismo

use std::io;
use std::convert::TryInto;

fn main() {
    let mut input_str_arr = String::new();
    let mut input_index = String::new();
    let mut new_element = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    io::stdin().read_line(&mut input_index).unwrap();
    io::stdin().read_line(&mut new_element).unwrap();

    let new_element = new_element.trim().to_string();
    let index: usize = input_index.trim().parse().unwrap();
    let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
    
    // Escribe tu código debajo
    // Usa arr, index y new_element para resolver el desafío    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Rust online