# Statistics with C++
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
const S=30;
class MSqdev
{
public: float X[S],F[S],XM[S],SXM[S];
float n,sqXM[S],FSXM[S],XF[S];
float SDe;
public: void Getdata();
void MeanSQdevi();
void show();
};
void MSqdev :: Getdata()
{
cout<<"\nEnter total number of Data : ";
cin>>n;
cout<<"\nEnter Your Data : \n\n";
for(int i=0;i<n;i++)
{
cout<<" X "<<i+1<<" : ";
cin>>X[i];
}
cout<<"\nEnter frequencies for above data : \n\n";
for(int j=0;j<n;j++)
{
cout<<"Frequency for "<<X[j]<<" Calls : ";
cin>>F[j];
}
}
void MSqdev :: MeanSQdevi()
{
float SXF = 0;
float SF = 0,Sfxm=0;
float Mean;
for(int i=0;i<n;i++)
{
SF += F[i];
XF[i] = (F[i]*X[i]);
SXF += XF[i];
}
Mean= SXF/SF;
for( i=0;i<n;i++)
{
XM[i]= (X[i]-Mean);
SXM[i]=(XM[i]*XM[i]);
FSXM[i]=(F[i]*SXM[i]);
Sfxm+=FSXM[i];
}
SDe=sqrt(Sfxm/SF);
}
void MSqdev :: show()
{
cout<<"\n\n*** YOUR DATA IS AS FOLLOWS: ***\n\n";
cout<<"\nX \t F \t FX \t |X-A| \t (X-A)2 \t F* (X-A)2\t\n";
cout<<"\n\n-------------------------------------------------\n";
for(int i=0;i<n;i++)
{
cout<<" "<<X[i]<<"\t"<<F[i]<<"\t"<<XF[i]<<"\t"<<setprecision(3)<<XM[i]<<"\t"<<SXM[i]<<"\t" <<FSXM[i]<<"\n";
}
cout<<"\n\n---------------------------------------------------\n";
cout<<"\n\nSTANDARD DEVIATION FOR YOUR DATA = "<<setprecision(3) <<SDe;
}
void main()
{
MSqdev M;
clrscr();
M.Getdata();
clrscr();
M.MeanSQdevi();
M.show();
getch();
}
----------------------------------------------------------------------------------------------------
Out Put :
------------------------------------------------------------------------------------------------------
* Please comment if you find any error in the code or if it required corrections .
Happy Coding !