Menu
CoddyTech

Основные операции с массивами

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

Вот несколько распространённых операций с массивами:

  • Найдите сумму всех элементов массива:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
println!("Sum: {}", sum);
  • Найди среднее значение элементов массива:
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);
  • Найди максимальный элемент в массиве:
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);
  • Найди минимальный элемент в массиве:
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

Задание

Легко

Создай функцию с именем calculate_stats, которая принимает на вход массив целых чисел длиной 8 и выполняет следующие действия:

  1. Вычисляет сумму всех элементов массива.
  2. Вычисляет среднее значение элементов массива.
  3. Находит максимальный элемент массива.
  4. Находит минимальный элемент массива.

Функция должна возвращать массив значений типа f64, содержащий сумму, среднее значение, максимум и минимум именно в таком порядке.

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

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

fn calculate_stats(arr: [i32; 8]) -> [f64; 4] {
    // Напишите здесь свой код
    
    
}

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 iconПроверьте себя

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

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

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