Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Allocation Dynamique du Tableau | Allocation Dynamique de Mémoire
Pointeurs et Références en C++
Section 4. Chapitre 3
single

single

bookAllocation Dynamique du Tableau

Glissez pour afficher le menu

Avant d'examiner pourquoi l'allocation dynamique est nécessaire, récapitulons rapidement les caractéristiques des tableaux statiques et dynamiques :

Tableau statique

  • Taille fixe : une fois déclaré, la taille d'un tableau statique est fixe et ne peut pas être modifiée pendant l'exécution ;
  • Allocation mémoire à la compilation : la mémoire requise pour un tableau statique est allouée à la compilation.

Tableaux dynamiques

  • Redimensionnable : les tableaux dynamiques permettent un redimensionnement pendant l'exécution, offrant ainsi une flexibilité pour s'adapter aux exigences changeantes du programme ;
  • Allocation mémoire à l'exécution : la mémoire pour les tableaux dynamiques est allouée pendant l'exécution du programme.

Les limites d'une approche statique

Considérer le programme qui invite l'utilisateur à saisir les scores de performance pour chaque jour écoulé dans le mois en cours.

Malheureusement, cela n'est pas réalisable avec un tableau statique :

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
Remarque

Cela générera une erreur de compilation car day_passed n'est pas une expression constante ; elle dépend de la valeur à l'exécution du jour actuel du mois.

Ainsi, au lieu d'un tableau statique, il faut utiliser un tableau alloué dynamiquement.

Tâche

Swipe to start coding

Imaginez que vous travaillez comme météorologue et que vous devez analyser les relevés de température tout au long de la journée.

Vous allez utiliser des pointeurs et des fonctions qui manipulent des tableaux de données alloués dynamiquement.

  1. Initialiser la variable sum à 0, minTemp au premier élément du tableau, et maxTemp au premier élément du tableau.
  2. Parcourir le tableau temps à l'aide d'une boucle for avec un indice i de 0 à hours.
  3. Pour chaque élément temps[i], ajouter sa valeur à sum.
  4. Si temps[i] est inférieur à minTemp, affecter temps[i] à minTemp.
  5. Si temps[i] est supérieur à maxTemp, affecter temps[i] à maxTemp.
  6. Calculer la température moyenne en divisant sum par hours et stocker le résultat dans une variable average.
  7. Afficher les valeurs de minTemp, maxTemp et average dans la console.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 3
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt