Menu
CoddyTech

Yaygın Dizi İşlemleri

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

İşte bazı yaygın dizi işlemleri:

  • Bir dizideki tüm öğelerin toplamını bul:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
println!("Sum: {}", sum);
  • Bir dizideki öğelerin ortalamasını bulun:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
let average = sum as f64 / numbers.len() as f64;
println!("Average: {}", average);
  • Bir dizideki en büyük öğeyi bul:
let numbers = [1, 5, 2, 9, 3];
let mut max = numbers[0];
for &number in &numbers[1..] {
    if number > max {
        max = number;
    }
}
println!("Max: {}", max);
  • Bir dizideki en küçük elemanı bul:
let numbers = [1, 5, 2, 9, 3];
let mut min = numbers[0];
for &number in &numbers[1..] {
    if number < min {
        min = number;
    }
}
println!("Min: {}", min);
challenge icon

Görev

Kolay

Girdi olarak uzunluğu 8 olan bir tamsayı dizisi alan ve aşağıdaki işlemleri gerçekleştiren calculate_stats adlı bir işlev oluştur:

  1. Dizideki tüm elemanların toplamını hesaplar.
  2. Dizideki elemanların ortalamasını hesaplar.
  3. Dizideki en büyük elemanı bulur.
  4. Dizideki en küçük elemanı bulur.

İşlev, toplamı, ortalamayı, en büyük değeri ve en küçük değeri bu sırayla içeren f64 değerlerinden oluşan bir dizi döndürmelidir.

Kendin dene

use std::io;
use std::convert::TryInto;

fn calculate_stats(arr: [i32; 8]) -> [f64; 4] {
    // Kodunuzu buraya yazın
    
    
}

fn main() {
    let mut input_str_arr = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    let numbers: [i32; 8] = input_str_arr.split(',').map(|s| s.parse::<i32>().unwrap()).collect::<Vec<i32>>().try_into().unwrap();
    let stats = calculate_stats(numbers);
    println!("Sum: {}", stats[0]);
    println!("Average: {}", stats[1]);
    println!("Maximum: {}", stats[2]);
    println!("Minimum: {}", stats[3]);
}
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