Menu
CoddyTech

Operaciones comunes con arrays

Parte de la sección Fundamentos del Journey de Rust de Coddy. Lección 68 de 75.

A continuación se muestran algunas operaciones comunes con arrays:

  • Encuentra la suma de todos los elementos de un array:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}
println!("Sum: {}", sum);
  • Encuentra el promedio de los elementos de 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 tome como entrada un array de enteros de longitud 8 y realice las siguientes operaciones:

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

La función debe devolver un array de valores f64 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 Fundamentos

Practica por tu cuenta: Compilador de Rust online