Menu
Coddy logo textTech

Изменение массивов

Часть раздела Основы путешествия по Rust на Coddy. Урок 58 из 75.

Помимо доступа к элементам массива, вы также можете изменять их. Чтобы изменить определённый элемент, сначала вам нужен mut, чтобы сделать массив изменяемым, а затем вы можете присвоить ему новое значение, используя его индекс.

Вот пример:

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

Вывод:

apple, orange, cherry

banana был заменён на orange.

challenge icon

Задание

Легко

Создайте программу, которая получает 3 входных значения:

  • Первое входное значение — это строка значений, разделённых запятой (например, 1,2,3,4,5), длиной 5.
  • Второе входное значение — это индекс.
  • Третье входное значение — это новый элемент.

Начальный код уже преобразует строку значений, разделённых запятыми, в изменяемый массив с именем arr. Вы можете работать с ним напрямую, не записывая код преобразования.

Программа выведет изменённый массив, заменив элемент по индексу, указанному во втором входном значении, значением из третьего входного значения.

Попробуйте сами

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();
    
    // Напишите свой код ниже
    // Используйте arr, index и new_element, чтобы решить задачу    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Rust