Popular Posts

Showing posts with label MODE of grouped data.. Show all posts
Showing posts with label MODE of grouped data.. Show all posts

25 Jan 2014

MODE of given grouped data.

# Statistics with C++


// Program to calculate the MODE of given grouped data( Only for Unimodal Data).

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
const SZ=100;
class Mode
{
  public : float Fr[SZ],F[SZ],LM[SZ],UL[SZ];
  int Tn,h;
  public : void modData();
  void modShow();
  void mode();

};
void Mode :: modData()
{
  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>>Fr[i];
    F[i] = Fr[i];
  }
}

void Mode :: modShow()
{
  cout<<"\n\nYour Data : \n\n";
  cout<<"\nTotalNumbr of Data : "<<Tn;
  cout<<"\n\n  Class  \t Frequency\n";
  for(int i=0;i<Tn;i++)
  cout<<"\n  "<<LM[i]<<"-"<<UL[i]<<"\t\t"<<Fr[i];
}

void Mode :: mode()
{
   int l,u,f1,f0,f2,i,h;
    for(i=0;i<Tn;i++)
    {
      for(int j=0;j<Tn-1;j++)
      {
if(F[j]>F[j+1])
{
 int t;
 t=F[j];
 F[j]=F[j+1];
 F[j+1]=t;
}
      }
    }
    int GRT= F[Tn-1];
    for( i=0;i<Tn;i++)
    {
      if(Fr[i]==GRT)
      {
l=LM[i];
u=UL[i];
h=u-l;
f1=GRT;
f0=Fr[i-1];
f2=Fr[i+1];
break;
      }
    }
  /*
   cout<<"\n\n";

   cout<<"\nClass Interval (i.e h) = "<<h;
   cout<<"\nFrequency of median class (f1)= "<<f1;
   cout<<"\nLower limit of median class (l)= "<<l;
   cout<<"\nUpper limit of median class (u)= "<<u;
   cout<<"\nFreq., just before the freq. of median class (i.e f0) = "<<f0;
   cout<<"\nFreq., just after the freq. of median class (i.e f2) = "<<f2;
  */
   cout<<"\n\nMedian Class : \n";
   cout<<"\n-----------------------------------\n";
   cout<<"\n Class \t Frequency\n";
   cout<<"\n "<<l<<"-"<<u<<"\t\t"<<f1;
   cout<<"\n------------------------------------\n";
   //*/
   float mod =(float) l+ ( (h * (f1-f0)) / ( (f1-f0)-(f2-f1) ) );
   cout<<"\n\nMode for you Data = "<<setprecision(3)<<mod<<"\n";
}
void main()
{
  Mode MoD;
  clrscr();
  MoD.modData();
  clrscr();
  MoD.modShow();
  MoD.mode();
  getche();
}

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

Out Put :

Enter total number of data : 7

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

    Class Number1 :   118  126
    Class Number2 :   127  135
    Class Number3 :   136  144
    Class Number4 :   145  153
    Class Number5 :   154   162
    Class Number6 :   163  177
    Class Number7 :   172  182
Enter Frequencies for entered Classes :

  Freq. for class 118-126 :    3
  Freq. for class 127-135 :    5
  Freq. for class 136-144 :    9
  Freq. for class 145-153 :    12
  Freq. for class 154-162 :    5
  Freq. for class 163-171 :    4
  Freq. for class 172-180 :    2



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

* Plz comment if there is any error or Corrections.

Happy Coding!