Итак, мой инструктор назначил нам программу, которая использовала набор чисел и находила стандартное отклонение от нее. Моя программа находит Среднее просто отлично. Тем не менее, есть проблема с моей математикой. Что с этим не так. Это дает мне среднее значение 59 и отклонение 8.4. Среднее значение верно, однако отклонение должно составлять 96,4. Что не так с моей математикой.Что не так с моей математикой?
EDIT: Моя программа теперь работает.
P.S. Я изменил следующий код на мою текущую версию кода.
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//Used To Round The Decimal Points
cout << setiosflags(ios::fixed|ios::showpoint);
cout << setprecision(1);
//Declaring
double Numbers[] = {65, 49, 74, 59, 48}; //Work On Making This A User Input----------Deivation = 96.4
double Mean = 0, Items = 0, Sum = 0, Deviation = 0;
int Counter;
//Finds The Mean Of The Set Of Numbers
for (Counter = 0; Counter < sizeof(Numbers)/sizeof(double); Counter++)
{
for (Counter = 0; Counter < sizeof(Numbers)/sizeof(double); Counter++)
{
Sum += Numbers[Counter]; //Adds All Numbers In Array Together
}
Items = sizeof(Numbers)/sizeof(double); //Gets The Number Of Items In The Array
Mean = Sum/Items; //Finds The Mean
}
//Finds The Standard Deviation
for (Counter = 0; Counter < sizeof(Numbers)/sizeof(double); Counter++)
{
Deviation += pow((Numbers[Counter] - Mean), 2)/Items; //Does Math Things...
}
Deviation = sqrt(Deviation);
cout << "Deviation = " << Deviation << endl; //Print Out The Standard Deviation
system("pause");
return 0;
}
@YuHao Это просто так, что я могу отслеживать, что он делает – Jonco98
вы хотите 'sqrt (сумма средств)' not 'sum (sqrt mean)' –
@MarcB Что значит? Пожалуйста, объясните, – Jonco98