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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 18:02:02747ブラウズ

How can I store multiple user inputs in a vector using cin in C  ?

cin を使用したベクトルへのユーザー入力の保存

C では、ベクトルは同じ型の要素を格納できる動的配列です。ユーザー入力をベクトルに保存するには、cin ストリーム オブジェクトを使用できます。ただし、提供されるコードの制限を考慮することが重要です。

提供されるコードについて

指定されたコードは、ユーザーから数値を読み取り、それをファイルに保存しようとします。ベクター。ただし、入力された最初の数値のみがキャプチャされます。この問題を解決するには、複数の整数を継続的に受け入れるループが必要です。

解決策

以下のコードの修正版:

<code class="cpp">int main() {
  int input;
  vector<int> V;
  cout << "Enter your numbers to be evaluated: " << endl;

  // Use a loop to read multiple integers from cin
  while (cin >> input)
    V.push_back(input);

  write_vector(V);
  return 0;
}</code>

この更新されたコードはループを利用することで、ユーザーが Ctrl D (Linux/Mac) または Ctrl Z (Windows) を押すまで数値を読み取ります。入力された各数値がベクトルに追加されます。

追加の考慮事項

別のアプローチには、センチネル値の使用が含まれます。これにより、以下に示すように、特定の値で入力の終了を知らせることができます:

<code class="cpp">int main() {
  int input;
  vector<int> V;
  cout << "Enter numbers (enter -1 to stop): " << endl;

  // Use a sentinel value to terminate input
  while (cin >> input && input != -1)
    V.push_back(input);

  write_vector(V);
  return 0;
}</code>

このシナリオでは、「-1」を入力するとユーザー入力が停止され、ループが終了します。

以上がC で cin を使用して複数のユーザー入力をベクトルに保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。