자, 매개 변수로이 함수에 전달되는 모든 숫자가 올바른 값을 반환합니다. 왜 이걸 실행 한 후에 표준 편차로 말도 안되는 숫자가 나오는지 파악할 수 없습니다. 즉 내가 얻은 숫자는 (4.23947e10)이거나 그 라인을 따르는 것이고, 디스플레이 기능은 모든 다른 라인을 건너 뜁니다.C++ 표준 편차 함수?
float stdDev(int arrayList [], int count, float average)
{
int deviation;
int sum2 = 0;
for (int i = 0; i <= count; i++)
{
sum2 += pow((arrayList[i] - average), 2);
}
deviation = sqrt(sum2/(count - 1));
return deviation;
}
void displayList(int heightlist [], int weightlist[], int count)
//displays list of integers based on lists
{
cout << "\tHeight(s)" << " " << "Weight(s)" << endl;
for (int i = 0; i <= count; i++)
{
cout << "\t[" << heightlist[i] << "]" << " " << "["<< weightlist[i] <<"]" << '\n';
i++;
}
}
for (int i = 0; i <= count; i ++)는 의심스러워 보입니다. 배열은 '0'에서 'count - 1'까지 카운트되므로 대개 'for (int i = 0; i
Galik
'x * x'는 일반적으로'pow (x, 2)'보다 훨씬 쌉니다. –
또한 편차는'int' 타입이어야합니다. 아마도'float'이어야합니다. –