Comprendre le stockage des entrées utilisateur dans les vecteurs
En C, un vecteur est un tableau dynamique qui peut stocker efficacement une collection d'éléments. Lorsqu'il s'agit de stocker les entrées de l'utilisateur dans un vecteur, le processus implique d'utiliser le flux std::cin pour lire les entrées de la console et de les insérer dans le vecteur à l'aide de la méthode std::vector::push_back().
Structure du code
Considérez l'extrait de code suivant :
<code class="cpp">#include <iostream> #include <vector> using namespace std; template <typename T> void write_vector(const vector<T>& V) { cout << "The numbers in the vector are : "; 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: "; cin >> input; V.push_back(input); write_vector(V); return 0; }</code>
Explication du problème
Dans ce code, le un seul numéro est lu sur la console et stocké dans le vecteur. La fonction write_vector() imprime ensuite le vecteur, affichant uniquement le premier nombre saisi.
Solution
Pour résoudre ce problème, une boucle peut être introduite pour lire en continu les entrées de cin jusqu'à ce que l'utilisateur entre une valeur non numérique, un caractère EOF ou une valeur sentinelle spécifiée.
<code class="cpp">int main() { int input; vector<int> V; cout << "Enter your numbers to be evaluated (Enter any non-numeric character to stop): "; while (cin >> input) V.push_back(input); return 0; }</code>
En utilisant une boucle, le code lira plusieurs entrées et les stockera dans le vecteur, permettant la fonction write_vector() pour imprimer tous les nombres saisis.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!