ベクトルのユーザー入力ストレージについて
C では、ベクトルは要素のコレクションを効率的に格納できる動的配列です。ユーザー入力をベクターに保存する場合、プロセスには std::cin ストリームを使用してコンソールから入力を読み取り、std::vector::push_back() メソッドを使用してそれをベクターにプッシュすることが含まれます。
コード構造
次のコード スニペットを考えてみましょう:
<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>
問題の説明
このコードでは、コンソールから 1 つの数値だけが読み取られ、ベクトルに格納されます。次に、 write_vector() 関数はベクトルを出力し、最初に入力された数値のみを表示します。
解決策
この問題を解決するには、入力を継続的に読み取るループを導入できます。ユーザーが数値以外の値、EOF 文字、または指定されたセンチネル値を入力するまで、cin から始まります。
<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>
ループを使用することで、コードは複数の入力を読み取り、それらをベクトルに格納し、有効化します。 write_vector() 関数を使用して、入力されたすべての数値を出力します。
以上がC で複数のユーザー入力をベクトルに保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。