Qué hace este ejercicio
Trabaja con siete precios. Primero los enumera, después calcula grupos de dos elementos y, por último, reduce cada precio un 10 %. La cuarta etapa amplía los bucles con varios métodos de iteración.
Explicación
iter().enumerate() entrega cada referencia junto a su índice. El código suma uno al índice para mostrar una numeración que empieza en 1.
for (index, value) in prices.iter().enumerate() {
println!("Item {}: ${:.2}", index + 1, value);
}
chunks(2) forma parejas consecutivas. Como hay siete precios, el último bloque contiene un único valor y se muestra como precio sin pareja. Finalmente, iter_mut permite modificar el array en el mismo lugar.
for price in prices.iter_mut() {
*price *= 0.9;
println!("${:.2}", price);
}
El formato {:.2} limita la salida visible a dos decimales.
Conceptos practicados
- Arrays de números de punto flotante.
- Iteración sin modificar con
iter. - Índices mediante
enumerate. - Agrupación con
chunks. - Modificación mediante referencias de
iter_mut.
Cómo ejecutarlo
Este ejercicio no solicita entrada:
cargo run --bin desafioBucleMejorado
La salida presenta tres bloques: precios originales, parejas y precios con descuento. Observa el descuento de 2.25: se muestra como $2.02 porque {:.2} redondea el resultado real en punto flotante (2.0250000000000004).
cargo run --bin desafioBucleMejorado
Original Prices:
Item 1: $2.75
Item 2: $1.50
Item 3: $5.00
Item 4: $3.50
Item 5: $4.10
Item 6: $2.25
Item 7: $7.90
Bundle Deals:
Bundle 1: $2.75 + $1.50 = $4.25
Bundle 2: $5.00 + $3.50 = $8.50
Bundle 3: $4.10 + $2.25 = $6.35
Bundle 4: $7.90 (Sin pareja, precio individual)
Prices after 10% discount:
$2.48
$1.35
$4.50
$3.15
$3.69
$2.02
$7.11