Menu
Coddy logo textTech

Dizileri Değiştirme

Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 58 / 75.

Bir dizinin öğelerine erişmenin yanı sıra onları değiştirebilirsin. Belirli bir öğeyi değiştirmek için önce bir diziyi değiştirilebilir hâle getirmek üzere mut gerekir; ardından dizinin index değerini kullanarak ona yeni bir değer atayabilirsin.

İşte bir örnek:

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

Çıktı:

apple, orange, cherry

banana, bir orange olarak değiştirildi.

challenge icon

Görev

Kolay

3 girdi alan bir program oluştur:

  • İlk girdi, virgülle ayrılmış değerlerden oluşan (örneğin 1,2,3,4,5) ve uzunluğu 5 olan bir dizedir.
  • İkinci girdi bir index değeridir.
  • Üçüncü girdi yeni bir öğedir.

Başlangıç kodu, virgülle ayrılmış dizeyi zaten arr adlı değiştirilebilir bir diziye dönüştürüyor. Herhangi bir dönüştürme kodu yazmadan doğrudan bununla çalışabilirsin.

Program, ikinci girdide depolanan index konumundaki öğeyi üçüncü girdideki değerle değiştirerek değiştirilmiş bir dizi yazdıracaktır.

GEREKLİ ÇIKTI BİÇİMİ: <translation> [Çevrilmiş içeriğin buraya] </translation>

Kendin dene

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();
    
    // Kodunuzu aşağıya yazın
    // arr, index ve new_element kullanarak challenge'ı çözün    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi