Menu
CoddyTech

Chỉnh sửa mảng

Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 58 trên 75.

Ngoài việc truy cập các phần tử của mảng, bạn cũng có thể sửa đổi chúng. Để sửa đổi một phần tử cụ thể, trước tiên bạn cần mut để mảng có thể sửa đổi, sau đó bạn có thể gán giá trị mới cho phần tử đó bằng chỉ số của nó.

Đây là một ví dụ:

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

Đầu ra:

apple, orange, cherry

banana đã được đổi thành orange.

challenge icon

Thử thách

Dễ

Tạo một chương trình nhận 3 đầu vào:

  • Đầu vào thứ nhất là một chuỗi các giá trị được phân tách bằng dấu phẩy (ví dụ 1,2,3,4,5) có độ dài 5.
  • Đầu vào thứ hai là một chỉ số
  • Đầu vào thứ ba là một phần tử mới

Code khởi đầu đã chuyển chuỗi được phân tách bằng dấu phẩy thành một mảng có thể thay đổi tên là arr. Bạn có thể thao tác trực tiếp với mảng này mà không cần viết code chuyển đổi.

Chương trình sẽ in ra một mảng đã sửa đổi bằng cách thay phần tử tại chỉ số được lưu trong đầu vào thứ hai bằng giá trị từ đầu vào thứ ba.

Tự làm thử

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();
    
    // Viết code của bạn bên dưới
    // Dùng arr, index và new_element để giải thử thách    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Rust online