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);
  • Encuentra el promedio de los elementos de un array:
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 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 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 doubles que contenga la suma, el promedio, el máximo y el mínimo, en ese orden.

Hoja de referencia

Operaciones comunes con arrays en Rust:

Suma de todos los elementos:

let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
    sum += number;
}

Promedio de los elementos:

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;

Elemento máximo:

let numbers = [1, 5, 2, 9, 3];
let mut max = numbers[0];
for &number in &numbers[1..] {
    if number > max {
        max = number;
    }
}

Elemento mínimo:

let numbers = [1, 5, 2, 9, 3];
let mut min = numbers[0];
for &number in &numbers[1..] {
    if number < min {
        min = number;
    }
}

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