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.

Folha de consulta

Para modificar elementos de um array, o array deve ser declarado com mut:

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

Isso altera o elemento no índice 1 de "banana" para "orange".

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