2009-06-18 12 views
1

J'utilise le livre de cygne de Stroustrup. J'ai rencontré un problème pour obtenir la sortie d'un vecteur . J'ai suivi l'exemple de texte de sec. 4.6.3 à la page 121. I réussi à obtenir la source compilée et suis capable de l'exécuter. Après en tapant une liste de mots séparés par des espaces, le programme se bloque et ne liste pas les éléments du vecteur comme il se doit. Je ne réalise pas chaque élément sera produit s'il est répété, mais je ne reçois aucune sortie . J'ai compilé et exécuté cela en utilisant le compilateur g ++ 4.3.2 sur Linux et en utilisant le compilateur Visual C++ express 2008 sur Windows . Les deux produisent le même résultat. Merci de prendre le temps de lire ceci. Voici ma source:Stroustrup cygne livre vecteur problème

#include "Supporting_files/std_lib_facilities.h" 

    int main() 
      { 
     vector<string> words; 
     string temp; 
     cout << "Enter a list of words: "; 
     while(cin>>temp) 
      words.push_back(temp); 
      cout << "Number of words: " << words.size() << endl; 
      sort(words.begin(),words.end()); 
      for(int i=0;i<words.size();++i) 
       if(i==0||words[i-1]!=words[i]) 
        cout << words[i] << "\n"; 
      } 
+0

J'ai rencontré Stroustrup ... mpen

Répondre

5

alors que (cin >> temp) ne se termine qu'à la fin du fichier. Utilisez control-D pour envoyer une fin de fichier dans le terminal.