Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Asignación Dinámica de Arreglos | Asignación Dinámica de Memoria
Punteros y Referencias en C++
Sección 4. Capítulo 3
single

single

bookAsignación Dinámica de Arreglos

Desliza para mostrar el menú

Antes de explorar por qué es necesaria la asignación dinámica, repasemos rápidamente las características de los arreglos estáticos y dinámicos:

Arreglo Estático

  • Tamaño fijo: una vez declarado, el tamaño de un arreglo estático es fijo y no puede cambiarse durante la ejecución;
  • Asignación de memoria en tiempo de compilación: la memoria requerida para un arreglo estático se asigna en tiempo de compilación.

Arreglos dinámicos

  • Redimensionable: los arreglos dinámicos permiten cambiar su tamaño durante la ejecución, proporcionando flexibilidad para adaptarse a los requisitos cambiantes del programa;
  • Asignación de memoria en tiempo de ejecución: la memoria para los arreglos dinámicos se asigna durante la ejecución del programa.

Las limitaciones de un enfoque estático

Considere el programa que solicita al usuario que ingrese las puntuaciones de rendimiento para cada día que ha transcurrido en el mes actual.

Desafortunadamente, no podemos lograr esto utilizando un arreglo estático:

main.cpp

main.cpp

copy
12345678910
#include <iostream> #include <ctime> int main() { std::time_t currentTime = std::time(nullptr); int day_passed = std::localtime(&currentTime)->tm_mday; int arr[day_passed]; std::cout << day_passed << std::endl; }
Note
Nota

Esto generará un error de compilación porque day_passed no es una expresión constante, depende del valor en tiempo de ejecución del día actual del mes.

Por lo tanto, en lugar de un arreglo estático debemos utilizar un arreglo asignado dinámicamente.

Tarea

Desliza para comenzar a programar

Imagina que trabajas como meteorólogo y necesitas analizar lecturas de temperatura a lo largo del día.

Trabajarás con punteros y funciones que manipulan arreglos de datos asignados dinámicamente.

  1. Inicializar las variables sum en 0, minTemp con el primer elemento del arreglo y maxTemp con el primer elemento del arreglo.
  2. Recorrer el arreglo temps utilizando un ciclo for con un índice i desde 0 hasta hours.
  3. Para cada elemento temps[i], sumar su valor a sum.
  4. Si temps[i] es menor que minTemp, asignar temps[i] a minTemp.
  5. Si temps[i] es mayor que maxTemp, asignar temps[i] a maxTemp.
  6. Calcular la temperatura promedio dividiendo sum entre hours y almacenarla en la variable average.
  7. Imprimir los valores de minTemp, maxTemp y average en la consola.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 3
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt