如何从用户那里获取一些数字并将它们放入数组中,而不知道他会给出多少数字?然后,我怎么能(例如)从该数组中获取最后5个数字?
答案 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;
}
}
}