Menu
Coddy logo textTech

Vérifier la présence d'éléments

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

Lorsque vous travaillez avec des ensembles, vous avez souvent besoin de vérifier si un élément spécifique existe avant d'effectuer des opérations sur celui-ci. La méthode .count() offre un moyen simple de vérifier si un élément est présent dans votre ensemble.

Tout comme avec les maps, la méthode .count() renvoie 1 si l'élément existe dans l'ensemble, et 0 s'il n'existe pas. Cela la rend parfaite pour les vérifications conditionnelles :

std::set<int> numbers = {10, 20, 30};

if (numbers.count(20)) {
    std::cout << "Found 20 in the set!" << std::endl;
} else {
    std::cout << "20 is not in the set" << std::endl;
}

Cette approche est beaucoup plus sûre que d'essayer d'accéder directement aux éléments, surtout lorsque vous n'êtes pas sûr qu'ils existent. Vous pouvez utiliser .count() pour valider la saisie de l'utilisateur, prévenir les erreurs ou prendre des décisions basées sur ce qui est actuellement stocké dans votre ensemble.

challenge icon

Défi

Facile

Créez un programme qui démontre comment vérifier en toute sécurité l'existence d'éléments dans un std::set avant d'effectuer des opérations sur ceux-ci. Ce défi testera votre compréhension de la méthode .count() pour la vérification d'éléments.

Les entrées suivantes seront fournies :

  • Un entier n représentant le nombre d'éléments à ajouter initialement à l'ensemble
  • Ensuite, n entiers à insérer dans l'ensemble
  • Un entier m représentant le nombre d'éléments à rechercher
  • Ensuite, m entiers dont il faut vérifier l'existence dans l'ensemble

Votre programme doit :

  1. Créer un std::set<int> vide
  2. Lire le nombre d'éléments à ajouter et les insérer dans l'ensemble en utilisant .insert()
  3. Lire le nombre d'éléments à rechercher
  4. Pour chaque élément de recherche, utiliser la méthode .count() pour vérifier s'il existe dans l'ensemble
  5. Afficher les messages appropriés selon que chaque élément est trouvé ou non
  6. Après toutes les recherches, afficher le nombre total d'éléments qui ont été trouvés

Utilisez le format de sortie exact suivant :

Pour chaque résultat de recherche :

Searching for [number]: Found

Pour les éléments non trouvés :

Searching for [number]: Not found

Résumé à la fin :

Total found: [count] out of [total_searches]

Utilisez numbers.count(searchValue) pour vérifier si un élément existe dans l'ensemble. S'il retourne 1, l'élément existe ; s'il retourne 0, l'élément n'existe pas. Maintenez un compteur pour suivre combien d'éléments ont été trouvés avec succès lors des opérations de recherche.

Aide-mémoire

Utilisez .count() pour vérifier si un élément existe dans un ensemble. Il renvoie 1 si l'élément existe, 0 sinon :

std::set<int> numbers = {10, 20, 30};

if (numbers.count(20)) {
    std::cout << "Found 20 in the set!" << std::endl;
} else {
    std::cout << "20 is not in the set" << std::endl;
}

Cette méthode est plus sûre que d'essayer d'accéder directement aux éléments et elle est parfaite pour les vérifications conditionnelles et la validation des entrées.

Essayez vous-même

#include <iostream>
#include <set>
using namespace std;

int main() {
    // Lire le nombre d'éléments à ajouter à l'ensemble
    int n;
    cin >> n;
    
    // Créer un ensemble vide
    set<int> numbers;
    
    // Lire et insérer n éléments dans l'ensemble
    for (int i = 0; i < n; i++) {
        int element;
        cin >> element;
        numbers.insert(element);
    }
    
    // Lire le nombre d'éléments à rechercher
    int m;
    cin >> m;
    
    int foundCount = 0;
    
    // TODO: Écrivez votre code ci-dessous
    // Pour chaque élément de recherche :
    // 1. Lire la valeur de recherche
    // 2. Utiliser numbers.count(searchValue) pour vérifier si elle existe
    // 3. Afficher le message approprié
    // 4. Mettre à jour foundCount si l'élément est trouvé
    
    // Afficher le résumé
    cout << "Total found: " << foundCount << " out of " << m << endl;
    
    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 Logique et Flux