任务中的一项操作是填充数组。
#include <iostream>
#include <vector>
int main() {
std::vector<float>v;
std::vector<float>::iterator it;
float m, n;
std::cin >> m;
for(float i = 0; i < m; ++i){
std::cin >> n;
v.at(i) = n;
}
for(it = v.begin(); it < v.end(); ++it)
std::cout << *it;
return 0;
}
因为默认情况下你的向量是空的。而且你不应该为[不存在的]元素赋值,而是将它们添加到向量中:
当然,你可以像这样声明一个向量:
然后使用赋值。
还有一件事。你有整数个数组元素 - 你使用
float.迭代器不应在函数开头以 C 风格声明 - 限制变量的范围,即 写
但更好的是 - 茶,我们生活在 2019 年 :) -
甚至
一般来说,像
std::vector<float>::iterator it;你有迭代器e要访问向量的元素,您必须立即创建所需大小的向量。
https://ideone.com/FFUfU6
PS:我也建议你使用
double,不要float。