Algorithm std::count() std::find()

Exercice-

Amaury a marqué ce sujet comme résolu.

Ne plus répondre j’ai compris ce que le code faisait merci.

Bonjour à tous, comment allez-vous ?

Petite question sur l’exercice d’algorithm sur le site. J’aimerais savoir ce que ce code fait exactement car j’ai un peu de mal à tout comprendre, si quelqu’un peut m’aider ça serais cool merci.

Voici le code:

#include <algorithm>
#include <iostream>
#include <string>

int main()
{
    std::string const phrase { "Exemple illustrant le tutoriel C++ de Zeste de Savoir, mais un peu plus long." };

    // Pour garder en mémoire le début de chaque mot.
    auto iterateur_precedent { std::begin(phrase) }; 
    auto iterateur_espace { std::find(std::begin(phrase), std::end(phrase), ' ') };

    // Tant qu'on est pas à la fin de la phrase.
    while (iterateur_espace != std::end(phrase))
    {
        std::string const mot { iterateur_precedent, iterateur_espace };
        auto const total_e { std::count(std::begin(mot), std::end(mot), 'e') };

        std::cout << "Dans le mot '" << mot << "', il y a " << total_e << " fois la lettre 'e'." << std::endl;

        // On incrémente pour ne pas garder l'espace au début, car iterateur_espace pointe déjà sur un espace.
        ++iterateur_espace;
        // On met à jour notre itérateur de sauvegarde.
        
        //Qu'est-ce qu'il fait ici ? il met le second espace dans iterateur_precedent ou bien ?
        iterateur_precedent = iterateur_espace; 
        
        // On cherche la première occurrence dans le nouveau sous-ensemble.
        iterateur_espace = std::find(iterateur_espace, std::end(phrase), ' ');
    }

    // Une dernière fois pour analyser les caractères restants.
    std::string const dernier_mot { iterateur_precedent, std::end(phrase) };
    std::cout << "Dans le dernier mot '" << dernier_mot << "', il y a " << std::count(iterateur_precedent, std::end(phrase), 'e') << " fois la lettre 'e'." << std::endl;

    return 0;
}
+0 -0

Ce code en C++ lit une phrase dans une chaîne de caractères et affiche le nombre de fois où la lettre 'e' apparaît dans chaque mot de la phrase.

Pour ce faire, il utilise plusieurs fonctions de la bibliothèque standard C++ :

Bonjour Electus merci bcp pour vos explications et votre temps. j’avais compris le fonctionnement du code comme je l’ai dis dans la publication, mais vous m’avez éclairer encore plus avec vos explications.

Malgré que j’ai compris le fonctionnement de ce code je suis incapable de le re faire actuellement, mais je n’abandonne pas je vais relire et relire le code plusieurs fois ça finira bien par porter ses fruits …. Je vous souhaite une excellente journée et encore merci pour vos explications.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte