Menu
Coddy logo textTech

Opérations courantes sur les tableaux

Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 66 sur 74.

Voici quelques opérations courantes sur les tableaux :

  • Trouvez la somme de tous les éléments d'un tableau :
int numbers[] = {1, 2, 3, 4, 5};
int sum = 0;
for (int number : numbers) {
    sum += number;
}
std::cout << "Sum: " << sum;
  • Trouver la moyenne des éléments d'un tableau :
int numbers[] = {1, 2, 3, 4, 5};
double sum = 0;
for (int number : numbers) {
    sum += number;
}
double average = sum / std::size(numbers);
std::cout << "Average: " << average;
  • Trouver l'élément maximum dans un tableau :
int numbers[] = {1, 5, 2, 9, 3};
int max = numbers[0];
for (int i = 1; i < std::size(numbers); i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}
std::cout << "Max: " << max;
  • Trouver l'élément minimum dans un tableau :
int numbers[] = {1, 5, 2, 9, 3};
int min = numbers[0];
for (int i = 1; i < std::size(numbers); i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}
std::cout << "Min: " << min;
challenge icon

Défi

Facile

Créez une fonction nommée calculateStats qui prend en entrée un tableau de doubles et la taille du tableau, et effectue les opérations suivantes :

  1. Calcule la somme de tous les éléments du tableau.
  2. Calcule la moyenne des éléments du tableau.
  3. Trouve l'élément maximum du tableau.
  4. Trouve l'élément minimum du tableau.

La fonction doit retourner un tableau de doubles contenant la somme, la moyenne, le maximum et le minimum, dans cet ordre.


Remarques importantes :
  • Utilisez le paramètre size pour contrôler votre boucle — n'utilisez pas std::size().
  • Pour initialiser max et min, commencez-les à arr[0] — cela fonctionne correctement même lorsque le tableau ne contient que des nombres négatifs.
  • Le code pré-écrit dans main() alloue déjà un tableau dynamique en utilisant new et le libère avec delete[] — vous n'avez qu'à allouer le tableau de résultat à l'intérieur de votre fonction en utilisant new double[4] et à le retourner.

Approche suggérée :
  1. Initialisez sum = 0, max = arr[0] et min = arr[0].
  2. Bouclez de i = 0 à i < size, en accumulant la somme et en mettant à jour max/min si nécessaire.
  3. Calculez la moyenne comme sum / size.
  4. Allouez un nouveau tableau avec new double[4], stockez les quatre résultats dans l'ordre et retournez-le.

Aide-mémoire

Opérations courantes sur les tableaux en C++ :

Somme de tous les éléments :

int numbers[] = {1, 2, 3, 4, 5};
int sum = 0;
for (int number : numbers) {
    sum += number;
}

Moyenne des éléments :

int numbers[] = {1, 2, 3, 4, 5};
double sum = 0;
for (int number : numbers) {
    sum += number;
}
double average = sum / std::size(numbers);

Élément maximum :

int numbers[] = {1, 5, 2, 9, 3};
int max = numbers[0];
for (int i = 1; i < std::size(numbers); i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

Élément minimum :

int numbers[] = {1, 5, 2, 9, 3};
int min = numbers[0];
for (int i = 1; i < std::size(numbers); i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

Essayez vous-même

#include <iostream>

double* calculateStats(double arr[], int size) {
    // Vous devrez calculer 4 valeurs avant de les stocker dans newArr
    // Initialisez les variables pour la somme (commencez à 0), le max et le min (commencez les deux à arr[0])
    // Utilisez une boucle for pour parcourir le tableau
    // À l'intérieur de la boucle :
    //   - Ajoutez chaque élément à la somme
    //   - Comparez chaque élément avec max et mettez à jour s'il est plus grand
    //   - Comparez chaque élément avec min et mettez à jour s'il est plus petit
    // Calculez la moyenne = somme / taille (après la boucle)
    

    double* newArr = new double[4];
    newArr[0] = sum;
    newArr[1] = average;
    newArr[2] = max;
    newArr[3] = min;

    return newArr;
}

int main() {
    int n;

    std::cin >> n;
    std::cin.ignore();
    double arr[n];

    for (int i = 0; i < n; i++) {
        double val;
        std::cin >> val;
        arr[i] = val;
    }

    double* stats = calculateStats(arr, n);
    std::cout << "Sum: " << stats[0] << std::endl;
    std::cout << "Average: " << stats[1] << std::endl;
    std::cout << "Maximum: " << stats[2] << std::endl;
    std::cout << "Minimum: " << stats[3] << std::endl;
    delete[] stats;
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux