Comment cin pour un vecteur

Je suis en train de demander à l'utilisateur de saisir des chiffres c'est de mettre dans un vecteur,
puis à l'aide d'un appel à la fonction de cout les chiffres, pourquoi n'est-ce pas
de travail? Je suis seulement en mesure de cout le premier numéro.

template <typename T>
void write_vector(const vector<T>& V)
{
   cout << "The numbers in the vector are: " << endl;
  for(int i=0; i < V.size(); i++)
    cout << V[i] << " ";
}

int main()
{
  int input;
  vector<int> V;
  cout << "Enter your numbers to be evaluated: " << endl;
  cin >> input;
  V.push_back(input);
  write_vector(V);
  return 0;
}
  • Dans mon expérience, les cin ne saisit le premier élément d'une chaîne de caractères, si quoi que ce soit après un espace est coupée. Si vous voulez vraiment utiliser cin, de lecture de chaque variable séparément, ou demandez à l'utilisateur de séparer les valeurs par une virgule et d'analyser cela. Ou vous pouvez utiliser le tableau argv dans la méthode main.
  • Avez-vous essayez d'utiliser une variable supplémentaire? Au lieu de l'aide de n pour la taille et le temporaire d'entrée.
  • Vous devez expliquer ce qui ne fonctionne pas ici.
  • BenjaminLindley je suis d'accord avec vous les gars, mais je pensais que l'OP a passé un certain temps déjà, et peut obtenir la réponse. Bien sûr, votre approche est beaucoup mieux.
InformationsquelleAutor Sean | 2011-12-04