将未知数字计入用户的数组

时间:2017-06-29 13:41:41

标签: c++ arrays c++11 input

如何从用户那里获取一些数字并将它们放入数组中,而不知道他会给出多少数字?然后,我怎么能(例如)从该数组中获取最后5个数字?

1 个答案:

答案 0 :(得分:5)

使用std::vector作为容器。一个简单的用例,它接受用户输入并构造一个包含最后5个元素的新向量:

#include <iostream>
#include <vector>

int main(){
    std::vector<int> vec;
    int temp;
    char c = 'y';
    while (std::cin && c == 'y'){
        std::cout << "Enter number: ";
        std::cin >> temp;
        vec.push_back(temp);
        std::cout << "Continue entering? y / n: ";
        std::cin >> c;
    }
    // get the last 5 elements:
    if (vec.size() >= 5){
        std::vector<int> vec5(vec.rbegin(), vec.rbegin() + 5);
        for (auto el : vec5){
            std::cout << el << std::endl;
        }
    }
}