ホームページ > バックエンド開発 > C++ > C で複数のユーザー入力をベクトルに保存するにはどうすればよいですか?

C で複数のユーザー入力をベクトルに保存するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-29 04:27:02
オリジナル
474 人が閲覧しました

How to store multiple user inputs in a vector in C  ?

ベクトルのユーザー入力ストレージについて

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート