Popular Posts

25 Jan 2014

Mean Deviation for discrete freq. distribution.

# Statistics With C++


//Program to calculate Mean Deviation for DISCRETE FREQUENCY DISTRIBUTION

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
const S=100;
class MeanDevi
{
  public: float X[S],F[S],D[S],T[S],FD[S],XM[S],FXM[S];
 float N,M,MDe,SFD,SXM,SFXM,SF,m,A;
  public: void Getdata();
 void show();
 void MeanDev();

};

void MeanDevi :: 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]<<"  : ";
    cin>>F[j];
    T[j]=F[j];
  }

  for(i=0;i<N;i++)
  {
    for(int j=0;j<N-1;j++)
    {
      if(T[j]>T[j+1])
      {
 int t;
 t=T[j];
 T[j]=T[j+1];
 T[j+1]=t;
      }
    }
  }
  for(i=0;i<N;i++)
  {
    m=T[N-1];
    if(F[i]==m)
    { A = X[i];}
  }
}

void MeanDevi :: MeanDev()
{
  SFD=0,M=0,SF=0,SFXM=0;
  for(int i=0;i<N;i++)
  {
D[i]=(X[i]-A);
FD[i] = F[i] * D[i];
SFD+=FD[i];
SF+=F[i];
  }

  M=(A-(SFD/SF));

  for(i=0;i<N;i++)
  {
if((X[i]-M)<0)
{ XM[i]=(X[i]-M)*(-1); }
else
{ XM[i]=X[i]-M; }

 FXM[i]=F[i]*XM[i];
 SFXM+=FXM[i];
  }

  MDe=(SFXM/SF);
}

void MeanDevi :: show()
{

  cout<<"\n\n*** YOUR DATA *** : \n";

  //cout<<"\n SF and A = "<<SF<<"    "<<A;
  //cout<<SFXM<<"    \n";
  cout<<"\n\n\n X \t F \t D \t F * D \t X-Xbar \t F* X-Xbar \n\n";
  for(int i=0;i<N;i++)
  {
    cout<<" "<<X[i]<<"\t"<<F[i]<<"\t"<<D[i]<<"\t"<<FD[i]<<"\t"<<setprecision(2)<<XM[i]<<"\t"<<setprecision(2)<<FXM[i]<<"\n ";

  }
  cout<<"\n\nMEAN DEVIATION for your data = "<<setprecision(2) <<MDe;
}

void main()
{
  MeanDevi MD;
  clrscr();
  MD.Getdata();
  MD.MeanDev();
  MD.show();
  getch();


}

-------------------------------------------------------------------------------------------------------

Out Put :

 Enter total number of Data : 4

Enter Your Data :

 X 1 : 3
 X 2 : 5
 X 3 : 7
 X 4 : 9

Enter frequencies for above data :

Frequency for 3  : 3
Frequency for 5  : 4
Frequency for 7  : 2
Frequency for 9  : 1


                      *** YOUR DATA *** :


 X      F          D         F * D      X-Xbar    F* X-Xbar

  3        3        -2            -6         1.8              5.4
  5        4         0              0         0.2              0.8
  7        2         2             4          2.2               4.4
  9       1          4             4          4.2               4.2


MEAN DEVIATION for your data = 1.48

----------------------------------------------------------------------------------------------------

* Please comment if there is any error or if it need corrections...

Happy Coding!

No comments:

Post a Comment