2017-11-20 4 views
-1

私は、入力に基づいていくつかのインデックスを割り当てる方法を理解しようとしています。入力が:入力に基づいて配列のインデックスをいくつ割り当てることができますか?

9 10 11 12 13 

私は、リスト内の数字の数を持つ配列を作成するコンピュータをしたいと思います。ここには5つの数字があります。私は、コードを配列を作成し、それが5つの要素/インデックスを持っているようにします。

どうすればいいですか?

[注:常に数字の任意の量があるかもしれない、5つの数字がありません]

+0

'int indexes [5] = {9 10 11 12 13}';または 'int indexes [5];シン>> indexes [0];シン>>インデックス[1];シン>>インデックス[2];シン>>インデックス[3];シン>>インデックス[4]; ' – Raindrop7

+1

[正しい方法で始めるのがベスト:' std :: vector :: push_back'](http://en.cppreference.com/w/cpp/container/vector) 'std :: vector'これはより複雑になり、追加の制約と要件を追加する必要があります。 – user4581301

+0

5つの要素{9,10,11,12,13}を持つ配列を持つか、または*インデックス* 9,10,11,12,13で作業しますか(つまり、配列には14の要素が必要です)?そして、もしあなたがインデックスを使って作業したいのであれば、他のどのような価値を彼らに割り当てたいのですか?あなたの質問の最初の部分は、これらのインデックスにいくつかの(魔法の)値を割り当てることを示唆しています。第2の部分は、これらの5つの値を持つ5つの要素を持つ配列を生成するように聞こえます。 – Aufziehvogel

答えて

1

あなたはあなたのプログラムの入力ストリームから読み取るためにstd::getlineを使用して、新しいストリームを作成し、で文字列を分割することができます' '、あなたが使用std::stoiint Sに入力を変換することができます。

#include <iostream> 
#include <vector> 
#include <string> 
#include <sstream> 

int main() 
{ 
    std::string input; 
    std::getline(std::cin, input); 
    std::stringstream inputStream(input); 

    std::string line; 
    std::vector<int> numericResults; 
    while(std::getline(inputStream,line,' ')) { 
     numericResults.push_back(std::stoi(line)); 
    } 
} 

をまたはあなたのdeliminatorはスペースがあるので、によって示唆として、あなたはループを簡素化することができ@ user4581301:

int numericResult; 
std::vector<int> numericResults; 
while(inputStream >> numericResult) { 
    numericResults.push_back(numericResult); 
} 
+0

ありがとう、これはうまくいきました! :) – cuay

関連する問題