,所以我已經張貼了幾次,以前我的問題是相當含糊計算標準差和變異在C++
我開始C++本週一直在做一個小項目
所以我想到calc下標準差&方差
我的代碼加載100個整數的文件,並把它們放到一個數組,統計他們,Calcs(計算)的意思,總之,VAR和SD
但我在與方差有點麻煩
我不斷收到一個巨大的數字 - 我有一種感覺,它與它的計算
我均值和金額做都行
任何幫助或建議嗎?
NB:
乾杯,
傑克
using namespace std;
int main()
{
int n = 0;
int Array[100];
float mean;
float var;
float sd;
string line;
float numPoints;
ifstream myfile(「numbers.txt");
if (myfile.is_open())
{
while (!myfile.eof())
{
getline(myfile, line);
stringstream convert(line);
if (!(convert >> Array[n]))
{
Array[n] = 0;
}
cout << Array[n] << endl;
n++;
}
myfile.close();
numPoints = n;
}
else cout<< "Error loading file" <<endl;
int sum = accumulate(begin(Array), end(Array), 0, plus<int>());
cout << "The sum of all integers: " << sum << endl;
mean = sum/numPoints;
cout << "The mean of all integers: " << mean <<endl;
var = ((Array[n] - mean) * (Array[n] - mean))/numPoints;
sd = sqrt(var);
cout << "The standard deviation is: " << sd <<endl;
return 0;
}
在'(數組[n] - 平均值)'是不'N'比元件的數量多一個已閱讀?此外,['while(!myfile.eof())']幾乎總是錯的](http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong) –
你應該使用double而不是float – FredK
''''應該是''' –