Trouver la plus grande valeur d'un tableau en C et C++
Dans cette leçon, vous allez trouver la plus grande valeur d'un tableau en comparant les éléments un par un.
Introduction
Pour trouver la plus grande valeur, on utilise une variable contenant le maximum vu jusqu'ici, que l'on compare à chaque élément restant. Chaque fois qu'un élément plus grand apparaît, cette variable est mise à jour.
Points importants
- Activez les avertissements du compilateur (compiler warnings) et corrigez-les tous.
- Comprenez bien le type et la durée de vie (lifetime) de chaque valeur.
- Vérifiez toujours les données d'entrée et les limites des indices de tableau.
Exemples de code C et C++
#include <stdio.h>
int main(void) {
int values[] = {-4, 7, 23, 9, 12}; int maximum = values[0];
// Compare every remaining value with the current maximum.
for (size_t i = 1; i < sizeof values / sizeof values[0]; ++i)
if (values[i] > maximum) maximum = values[i];
printf("max=%d\n", maximum);
}
max=23
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector values{-4, 7, 23, 9, 12};
// max_element returns an iterator to the largest value.
std::cout << "max=" << *std::max_element(values.begin(), values.end()) << '\n';
}
max=23
Comparaison entre C et C++
La variable maximum est initialisée avec le premier élément et non avec 0. Le programme reste ainsi correct quand le tableau ne contient que des nombres négatifs, alors que partir de 0 donnerait un résultat faux. La boucle commence au deuxième élément et met maximum à jour dès qu'une valeur plus grande apparaît ; le résultat est max=23.
C utilise de petites fonctions procédurales et montre ouvertement comment les données sont représentées en mémoire.
C++ permet toujours de travailler à bas niveau, mais ajoute des types de bibliothèque et des abstractions plus sûres.
Exercices d'approfondissement
Exécutez les deux versions, puis modifiez le code pour observer la différence de sécurité qu'apporte chaque langage.
- Testez des entrées invalides et des valeurs limites.
- Compilez avec les options -Wall -Wextra -Wpedantic pour activer davantage d'avertissements.
- Placez les déclarations communes dans un fichier d'en-tête et l'implémentation dans un fichier séparé.
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
- Maximum d'un tableau Trouvez la plus grande valeur dans une liste. Facile
- Count Positive Numbers Count the values greater than zero in a list. Facile