Menu
Coddy logo textTech

Modificando Arrays

Parte da seção Fundamentals do Journey de Rust da Coddy. Lição 58 de 75.

Além de acessar os elementos de um array, você também pode modificá-los. Para modificar um elemento específico, primeiro você precisa de mut para tornar um array modificável e, então, você pode atribuir um novo valor a ele usando seu índice.

Aqui está um exemplo:

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

Saída:

apple, orange, cherry

banana foi alterada para uma orange.

challenge icon

Desafio

Fácil

Crie um programa que receba 3 entradas:

  • A primeira entrada é uma string de valores separados por vírgula (por exemplo 1,2,3,4,5) de comprimento 5.
  • A segunda entrada é um índice
  • A terceira entrada é um novo elemento

O código inicial já converte a string separada por vírgulas em um array mutável chamado arr — você pode trabalhar diretamente com ele sem escrever nenhum código de conversão.

O programa imprimirá um array modificado, alterando o elemento no índice armazenado na segunda entrada com o valor da terceira entrada.

Experimente você mesmo

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();
    
    // Escreva seu código abaixo
    // Use arr, index e new_element para resolver o desafio    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals

Pratique por conta própria: Compilador de Rust online