Изменение массивов
Часть раздела Основы путешествия по 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, cherrybanana был заменён на orange.
Задание
ЛегкоСоздайте программу, которая получает 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]);
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод12Основы массивов
Объявление массивовМассив как параметрДоступ к элементамИзменение массивовПовторение — Красивый вывод массиваПотренируйтесь самостоятельно: Онлайн-компилятор Rust