[英]Function to find variance returns 0
我正在為一個學校的程序工作,該程序涉及查找數組的某些統計信息,我要查找的一件事是方差,我為此創建了一個函數,但由於某種原因,它始終返回0
double variance(double * array, unsigned int size, double value)
{
double variance = 0; //Variable used to store the variance
for (unsigned int i = 0; i < size; ++i)
{
if (value > array[i]) //If statement checks to see if you need to subtract the value from the array or the other way around
{
variance += pow((value - array[i]), 2);
}
else
{
variance += pow((array[i] - value), 2);
}
}
variance /= size;
return variance;
}
我已經嘗試過使用調試器進行調試,但是一無所獲
我怎么稱呼它:
double varaince = variance(array, size, mean);
printf("\nVariance: %.3lf", variance);
正如@ammoQ評論
double varaince = variance(array, size, mean);
// function name used here.
// printf("\nVariance: %.3lf", variance);
// Use variable name
printf("\nVariance: %.3lf", varaince);
variance/=size;
應該
variance/=(double)size;
大小單獨存儲為二進制整數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.