Menu
CoddyTech

Operaciones comunes con arrays

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

Estas son algunas operaciones comunes con arreglos:

  • Encuentra la suma de todos los elementos de un arreglo:
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 de un arreglo:
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 de una matriz:
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 como entrada un arreglo de enteros de longitud 8 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 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