目前正在进行c ++的入门课程,需要使用循环将文件中的值读取到向量中,然后将其打印到控制台。我已经能够这样做了,然后我需要使用for循环来找到平均值。我可能正在阅读其他代码,我已经查看了线索......但似乎无法找到很多帮助。
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream numbers;
numbers.open("G:\\numbers.dat"); // just a file of 10 integers.
int i;
vector<float> vectors;
while(numbers >> i) {
vectors.push_back(i);
}
for(int n=0; n < vectors.size(); ++n ){
cout << vectors[n] << endl;
}
int avg;
for(int k=0; k < vectors.size(); ++k){
// not sure what to put here basically.
cout << avg << endl;
}
numbers.close();
return 0;
}
任何帮助非常感谢。感谢。
答案 0 :(得分:1)
平均值是元素之和除以元素数。所以:
int avg;
int sumTotal = 0;
for(int k=0; k < vectors.size(); ++k){
// not sure what to put here basically.
sumTotal += vectors[n];
}
avg = sumTotal / vectors.size();
cout << avg << endl;
答案 1 :(得分:1)
请注意,在Tirma的解决方案中,for循环中的索引存在问题。应该是k,而不是n。
还请注意,我们也可以使用基于自动的循环来代替上述的for循环:
for (int vector: vectors)
{
sumTotal+= vector;
}