Menu
Coddy logo textTech

Récapitulatif : Parcours de tableau par pointeur

Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 11 sur 63.

challenge icon

Défi

Facile

Écrivez un programme en C qui implémente une fonction pour calculer la somme de tous les éléments d'un tableau d'entiers en utilisant l'arithmétique des pointeurs et l'équivalence tableau-pointeur. Votre programme doit :

  1. Créer une fonction nommée calculateSum qui prend deux paramètres :
    • Un pointeur vers un entier (int *arr) représentant le tableau
    • Un entier (size) représentant le nombre d'éléments dans le tableau
  2. À l'intérieur de la fonction calculateSum :
    • Initialiser une variable sum à 0
    • Créer une variable pointeur ptr et la configurer pour qu'elle pointe vers le début du tableau
    • Utiliser une boucle pour parcourir le tableau en utilisant l'arithmétique des pointeurs
    • À chaque itération, ajouter la valeur pointée par ptr à sum
    • Incrémenter le pointeur pour passer à l'élément suivant
    • Retourner la somme calculée
  3. Dans la fonction main :
    • Lire un entier n représentant la taille du tableau
    • Déclarer un tableau d'entiers de taille n
    • Lire n entiers depuis l'entrée pour remplir le tableau
    • Appeler la fonction calculateSum avec le tableau et sa taille
    • Afficher le résultat au format : "Sum: [value]"

La fonction doit utiliser l'arithmétique des pointeurs pour le parcours du tableau - n'utilisez pas la notation d'indexation de tableau comme arr[i]. Utilisez plutôt le déréférencement de pointeur et les opérations d'incrémentation pour accéder aux éléments du tableau.

Par exemple, si l'entrée est :

5
10 20 30 40 50

Votre sortie devrait être :

Sum: 150

Ce défi teste votre compréhension de la manière dont les fonctions peuvent accepter des tableaux comme paramètres de pointeur, comment utiliser l'arithmétique des pointeurs pour parcourir les tableaux efficacement, et comment les noms de tableaux sont automatiquement convertis en pointeurs lorsqu'ils sont passés aux fonctions.

Essayez vous-même

#include <stdio.h>

// À FAIRE : Écrivez votre fonction calculateSum ici

int main() {
    int n;
    scanf("%d", &n);
    
    int arr[n];
    
    // Lire les éléments du tableau
    for(int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    // À FAIRE : Appeler la fonction calculateSum et stocker le résultat
    
    // À FAIRE : Afficher le résultat au format "Sum: [value]"
    
    return 0;
}

Toutes les leçons de Logic & Flow