Exercice en C

exodus -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Voici en gros l'exercice

Par exemple, le texte suivant :

Bonjour, ceci est un exemple de texte.

Donnera comme résultat possible :

Bonuojr, ceci tse nu eexlmpe ed ttxee.

a coder en C++

on me dit d'utiliser la fonction cin.get(char)
mais je comprend pas comment l'tiliser dans ce cas.

vous pourriez m'aider ? merci

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    std::cin c'est le flux sur l'entrée standard, ca permet donc de récupérer une saisie au clavier. C'est une solution pour récupérer la chaine à melanger mais tu peux aussi la lire dans un fichier. Dans un premier temps tu peux la mettre en dur dans ton main.
    std::string sentence="Les tapirs gambadent gaiement dans la prairie."

    ...car à terme il faudra de toutes façons manipuler une chaine... Ensuite tu peux écrire :

    -Une fonction pour extraire un mot
    std::size_t extract_words_from(
      const std::string & sentence,
      std::vector<std::string> & resultat
    ){
       std::string word;
       //extraire la sous chaine (un mot) par exemple avec find
       //..
    
       //la mettre dans resultat
       resultat.push_back(word);
       return resultat;
    }

    - Une fonction pour melanger un mot :
    std::string shuffle_word(const std::string & w){
      //...
    }

    - Et un main
    int main(){
      //Recuperer la phrase (en lisant un fichier, ou sur cin....)
      //stocker la phrase dans std::string sentence
      //...
    
      //Extraire les mots
      std::vector<std::string> words;
      words=extract_words_from(sentence);
      std::size_t nb_words=words.size();
      for(std::size_t i=0;i<nb_words;++i){
        std::cout<<shuffle_word(words[i])<<" ";
      }   
      std::cout<<std::endl;
      return 0;
    }

    N'oublie pas en début de fichier les headers
    #include <string>
    #include <iotream>


    Bonne chance

    PS : Pour manipuler les chaînes tu as plein de méthodes toutes prêtes :
    http://www.sgi.com/tech/stl/basic_string.html
    0