【发布时间】:2011-01-26 17:25:00
【问题描述】:
我有这段代码,它从文件中读取输入并将其存储在向量中。到目前为止,我已经得到它给我向量内的值的总和,并使用总和给出值的平均值。
我现在想做的是学习如何再次访问向量并从向量的每个元素中减去一个值,然后再次打印出来。例如,一旦计算了总和和平均值,我希望能够重新打印终端中的每个值减去平均值。有什么建议/例子吗?
#include <iostream>
#include <vector>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
fstream input;
input.open("input.txt");
double d;
vector<double> v;
cout << "The values in the file input.txt are: " << endl;
while (input >> d)
{
cout << d << endl;
v.push_back(d);
}
double total = 0.0;
double mean = 0.0;
double sub = 0.0;
for (int i = 0; i < v.size(); i++)
{
total += v[i];
mean = total / v.size();
sub = v[i] -= mean;
}
cout << "The sum of the values is: " << total << endl;
cout << "The mean value is: " << mean << endl;
cout << sub << endl;
}
【问题讨论】:
-
你已经写了 sub = v[i] -= mean。 v[i] -= mean 与 v[i] = v[i] - mean 相同。所以你已经在修改数组元素了!
-
"有什么建议/例子吗?" 是的,我的建议是阅读一个很好的文档来源,比如 cppreference,其中包含大量例子对于这样简单的请求,不需要或没有用关于 SO 的问题。