Menu
Coddy logo textTech

Modyfikowanie tablic

Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 58 z 75.

Oprócz uzyskiwania dostępu do elementów tablicy możesz je również modyfikować. Aby zmodyfikować konkretny element, najpierw potrzebujesz mut, aby umożliwić modyfikowanie tablicy, a następnie możesz przypisać mu nową wartość, używając jego indeksu.

Oto przykład:

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

Wynik:

apple, orange, cherry

banana zmieniono na orange.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który przyjmuje 3 dane wejściowe:

  • Pierwsza dana wejściowa to ciąg wartości oddzielonych przecinkami (na przykład 1,2,3,4,5) o długości 5.
  • Druga dana wejściowa to indeks
  • Trzecia dana wejściowa to nowy element

Kod początkowy już konwertuje ciąg wartości oddzielonych przecinkami na modyfikowalną tablicę o nazwie arr. Możesz pracować bezpośrednio na niej, nie pisząc żadnego kodu konwertującego.

Program wypisze zmodyfikowaną tablicę, zmieniając element o indeksie zapisanym w drugiej danej wejściowej na wartość z trzeciej danej wejściowej.

Spróbuj swoich sił

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();
    
    // Napisz swój kod poniżej
    // Użyj arr, index i new_element, aby rozwiązać zadanie    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Rust online