Popular Posts

Showing posts with label Median For Grouped Data.. Show all posts
Showing posts with label Median For Grouped Data.. Show all posts

23 Jan 2014

Median For Grouped Data.

# Statistics With C++


// Program to calculate the median of given grouped data.

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
const SZ=100;
class Median
{
  public : int F[SZ],LCF[SZ],LM[SZ],UL[SZ];
  int N,Tn,h;
  public : void mdData();
  void mdShow();
  void mdMedian();

};
void Median :: mdData()
{
  cout<<"\nEnter total no. data : ";
  cin>>Tn;
  cout<<"\n\nEnter lower and upper limit of class: (ex. 0  10) : \n";
  for(int i=0;i<Tn;i++)
  {
     cout<<"\n  Class Number"<<i+1<<" : ";
     cin>>LM[i];
     cin>>UL[i];
  }
  cout<<"\n\nEnter frequency for entered classes : \n";
  for(i=0;i<Tn;i++)
  {
    cout<<"\n Freq. for class "<<LM[i]<<"-"<<UL[i]<<" : ";
    cin>>F[i];
    LCF[i] = F[i];
  }
  for(i=1;i<Tn;i++)
  {
    LCF[i]=LCF[i-1]+LCF[i];
  }
}

void Median :: mdShow()
{
  cout<<"\n\nYour Data : \n\n";
  cout<<"\nTotalNumbr of Data : "<<Tn;
  cout<<"\n\n  Class  \t Frequency\t less than c. freq.\n";
  for(int i=0;i<Tn;i++)
  cout<<"\n  "<<LM[i]<<"-"<<UL[i]<<"\t\t"<<F[i]<<"\t\t"<<LCF[i];
}

void Median :: mdMedian()
{
   int c,d,l,u,f,i=0;
   N=LCF[Tn-1];
   float mdc=(float)N/2;
   while(i<Tn)
   {
     if(LCF[i]>mdc)
     {
       d=LCF[i];
       c=LCF[i-1];
       f=F[i];
       l=LM[i];
       u=UL[i];
       h=u-l;
      break;
     }
     i++;
   }

   cout<<"\n\n";
   /*  
   cout<<"\nClass Interval (i.e h) = "<<h;
   cout<<"\nSum of all Freq.s (i.e N) = "<<N;
   cout<<"\nTo find median class (N/2) = "<<mdc;
   cout<<"\nFrequency of median class (f)= "<<f;
   cout<<"\nLower limit of median class (l)= "<<l;
   cout<<"\nUpper limit of median class (u)= "<<u;
   cout<<"\nLess-than-cf just before the ltcf of median class (i.e C) = "<<c;
   */
   cout<<"\n\nMedian Class : \n\n";
   cout<<"-----------------------------------\n";
   cout<<" Class \t Frequency \t Less than CF.\n";
   cout<<"\n "<<l<<"-"<<u<<"\t\t"<<f<<"\t\t "<<d ;
   cout<<"\n------------------------------------\n";
 
   float MeDian =(float) l+((h*(mdc-c)/f));
   cout<<"\n\nMedian for you Data = "<<setprecision(2)<<MeDian<<"\n";
}
void main()
{
  Median MD;
  clrscr();
  MD.mdData();
  MD.mdShow();
  MD.mdMedian();
  getche();

}
---------------------------------------------------------------------------------------------------------------------

Out Put :

Enter total no. of Data :     7

Enter lower and upper limit of class: (ex. 0  10) :

Class Number1  :  0   3
Class Number2  :  3   6
Class Number3  :  6   9
Class Number4  :  9  12
Class Number5  :  12  15
Class Number6  :  15  18
Class Number1  :   18  21

Enter frequencies for entered classes  :

Freq. for class  0-3 :   2
Freq. for class  3-6 :   7
Freq. for class  6-9 :   10
Freq. for class  9-12 :  12
Freq. for class  12-15 :  9
Freq. for class  15-18 :  6
Freq. for class  18-21 :  4

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

Please comment if you find any error or Corrections...

Happy Coding!