Menu
Coddy logo textTech

Pointeur et tableau dynamique

Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 56 sur 56.

challenge icon

Défi

Facile

Créez un programme qui démontre la gestion dynamique de la mémoire en construisant un système flexible de stockage et de traitement de nombres. Ce défi testera votre compréhension des tableaux dynamiques, de l'allocation de mémoire, de la manipulation de tableaux et du nettoyage approprié de la mémoire.

Les entrées suivantes seront fournies :

  • Un entier size représentant le nombre d'entiers à stocker
  • Ensuite, size entiers représentant les nombres à stocker dans le tableau dynamique

Votre programme doit :

  1. Lire la taille à partir de l'entrée
  2. Allouer dynamiquement un tableau d'entiers en utilisant new[] avec la taille spécifiée
  3. Lire les entiers à partir de l'entrée et les stocker dans le tableau alloué dynamiquement
  4. Calculer la somme de tous les nombres du tableau
  5. Trouver la valeur maximale dans le tableau
  6. Afficher les résultats dans le format spécifié
  7. Désallouer correctement la mémoire en utilisant delete[]

Utilisez le format de sortie exact suivant :

Array size: [size]
Sum: [sum_of_all_numbers]
Maximum: [maximum_value]

Rappelez-vous que l'allocation dynamique de mémoire vous permet de créer des tableaux dont la taille est déterminée au moment de l'exécution en fonction de l'entrée de l'utilisateur. Utilisez new int[size] pour allouer le tableau et accédez aux éléments en utilisant la notation de tableau array[index]. Une fois que vous avez fini d'utiliser le tableau, vous devez appeler delete[] array pour libérer la mémoire allouée et éviter les fuites de mémoire. Le tableau existe sur le tas (heap) et persistera jusqu'à ce que vous le désallouiez explicitement.

Essayez vous-même

#include <iostream>
using namespace std;

int main() {
    // Lire la taille du tableau
    int size;
    cin >> size;
    
    // À FAIRE : Écrivez votre code ici
    // 1. Allouer dynamiquement un tableau en utilisant new[]
    // 2. Lire les entiers et les stocker dans le tableau
    // 3. Calculer la somme de tous les nombres
    // 4. Trouver la valeur maximale
    // 5. N'oubliez pas de libérer la mémoire en utilisant delete[]
    
    // Afficher les résultats (remplacer par les variables réelles)
    cout << "Array size: " << size << endl;
    cout << "Sum: " << /* variable de somme */ << endl;
    cout << "Maximum: " << /* variable max */ << endl;
    
    return 0;
}

Toutes les leçons de Logique et Flux