Menu
Coddy logo textTech

Operaciones comunes con arrays

Parte de la sección Fundamentals del Journey de Rust de Coddy — lección 68 de 75.

Aquí hay algunas operaciones comunes con arrays:

  • Encuentra la suma de todos los elementos en un array:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
println!("Sum: {}", sum);
  • Encontrar el promedio de los elementos en un arreglo:
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);
  • Encuentra el elemento máximo en un array:
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);
  • Encuentra el elemento mínimo en un array:
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

Desafío

Fácil

Crea una función llamada calculate_stats que reciba un arreglo de enteros de longitud 8 como entrada y realice las siguientes operaciones:

  1. Calcula la suma de todos los elementos del arreglo.
  2. Calcula el promedio de los elementos del arreglo.
  3. Encuentra el elemento máximo del arreglo.
  4. Encuentra el elemento mínimo del arreglo.

La función debe devolver un arreglo de dobles que contenga la suma, el promedio, el máximo y el mínimo, en ese orden.

Pruébalo tú mismo

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

fn calculate_stats(arr: [i32; 8]) -> [f64; 4] {
    // Escribe tu código aquí
    
    
}

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals