Plusieurs GETLINE et IFSTREAM à la fois

petedoherty -  
 petedoherty -
Bonjour,

j'ai un fichier txt avec dix mots de six lettres. Je code un programme en C++ qui me permet d'afficher toutes les combinaisons de six mots parmi les dix du fichier. Pour cela, j'utilise les fonctions ifstream (ouvrir un fichier en lecture) et getline (récupérer un mot).

AAAAAA BBBBBB CCCCCC DDDDDD EEEEEE FFFFFF GGGGGG HHHHHH JJJJJJ KKKKKK
Ces dix mots sont séparés par un retour à la ligne.

Le code que j'ai fait est en dessous.

Au lieu d'obtenir (1), j'obtiens (2).
(1) = A.. B.. C.. D.. E.. F.. puis A.. B.. C.. D.. E.. G.. [...] E.. F.. G..H.. J.. K..
(2) = A.. A.. A.. A.. A.. B.. puis A.. A.. A.. A.. A.. C.. [...] A.. A.. A.. A.. A.. K..

Pouvez-vous m'aider ? Merci d'avance !!

#include <iostream>  
#include <fstream>  
#include <string>  

int main()  
{  
    std::string MonMot1, MonMot2, MonMot3, MonMot4, MonMot5, MonMot6;  
      
    std::ifstream f1("sixlettre.txt"); std::ifstream f2("sixlettre.txt");  
    std::ifstream f3("sixlettre.txt"); std::ifstream f4("sixlettre.txt");  
    std::ifstream f5("sixlettre.txt"); std::ifstream f6("sixlettre.txt");  
      
    for(getline(f1, MonMot1); f1.good(); getline(f1, MonMot1))  
    {  
      for(getline(f2, MonMot2); f2.good(); getline(f2, MonMot2))  
      {  
        for(getline(f3, MonMot3); f3.good(); getline(f3, MonMot3))  
        {  
          for(getline(f4, MonMot4); f4.good(); getline(f4, MonMot4))  
          {  
            for(getline(f5, MonMot5); f5.good(); getline(f5, MonMot5))  
            {  
              for(getline(f6, MonMot6); f6.good(); getline(f6, MonMot6))  
              {  
                std::cout << MonMot1 << " " << MonMot2;  
                std::cout << " " << MonMot3 << " " << MonMot4;  
                std::cout << " " << MonMot5 << " " << MonMot6;  
                std::cout << std::endl;     
              }  
            }  
          }  
        }  
      }  
    }  
      
    system("Pause");  
    return 0;  
}

1 réponse

petedoherty
 
up
0