Grundlegendes zur Speicherung von Benutzereingaben in Vektoren
In C ist ein Vektor ein dynamisches Array, das eine Sammlung von Elementen effizient speichern kann. Wenn es darum geht, Benutzereingaben in einem Vektor zu speichern, umfasst der Prozess die Verwendung des Streams std::cin, um Eingaben von der Konsole zu lesen und sie mithilfe der Methode std::vector::push_back() in den Vektor zu übertragen.
Codestruktur
Bedenken Sie den folgenden Codeausschnitt:
<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>
Problemerklärung
In diesem Code ist die Es wird nur eine Zahl von der Konsole gelesen und im Vektor gespeichert. Die Funktion write_vector() druckt dann den Vektor und zeigt nur die erste eingegebene Zahl an.
Lösung
Um dieses Problem zu beheben, kann eine Schleife zum kontinuierlichen Lesen von Eingaben eingeführt werden von cin, bis der Benutzer einen nicht numerischen Wert, ein EOF-Zeichen oder einen angegebenen Sentinel-Wert eingibt.
<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>
Durch die Verwendung einer Schleife liest der Code mehrere Eingaben und speichert sie im Vektor, was die Aktivierung ermöglicht die Funktion write_vector() zum Drucken aller eingegebenen Zahlen.
Das obige ist der detaillierte Inhalt vonWie speichere ich mehrere Benutzereingaben in einem Vektor in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!