如何根据输入在数组中分配多个索引?

时间:2017-11-20 22:11:08

标签: c++

所以我试图弄清楚如何根据输入分配多个索引。让我们说输入是:

9 10 11 12 13

我希望计算机创建一个包含列表中数字的数组;在这种情况下,这里有5个数字。我希望代码创建一个数组,并使其总共有5个元素/索引。

我该怎么做?

[注意:不会总是有5个数字,可能有任意数量的数字]

1 个答案:

答案 0 :(得分:1)

您可以使用std::getline从程序输入流中读取,然后创建新流并将字符串拆分为' ',您可以使用std::stoi将输入转换为int 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));
    }
}

或者,因为你的分隔符是一个空格,你可以按照@ user4581301的建议简化循环:

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