Popular Posts

23 Jan 2014

Quartiles for Grouped Data.


# Statisrics with C++.

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

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
const SZ=100;
class Quart
{
  public : int F[SZ],LCF[SZ],LM[SZ],UL[SZ];
  int Tn,h,N;
  public : void QData();
  void QShow();
  void Quartile(int);

};
void Quart :: QData()
{
  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 Quart :: QShow()
{
  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 Quart :: Quartile(int a)
{
   int c,d,l,u,f,i=0;
   N=LCF[Tn-1];
   float mdc=(float)(N*a)/4;
   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";

  /*
          ( These are to check the values which we are going to put in the quartile formulae... )

   cout<<"\nClass Interval (i.e h) = "<<h;
   cout<<"\nSum of all Freq.s (i.e N) = "<<N;
   cout<<"\nTo find median class ((N*a)/4) = "<<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-----------------------------------\n";
   cout<<"\n Class \t Frequency \t Less than CF.\n";
   cout<<"\n "<<l<<"-"<<u<<"\t\t"<<f<<"\t\t "<<d ;
   cout<<"\n------------------------------------\n";

  */

   float QT =(float) (l+(h*(mdc-c)/f));
   cout<<" = "<<setprecision(2)<<QT<<"\n";
}
void main()
{
  Quart q;
  clrscr();
  q.QData();
  clrscr();
  q.QShow();
  cout<<"\n\nFirst Quartile = Q1 ";
  q.Quartile(1);
  cout<<"\nSecond Quartile= Q2 ";
  q.Quartile(2);
  cout<<"\nThird Quartile = Q3 ";
  q.Quartile(3);
  getche();
}


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

OUTPUT :




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

Please comment if there is any error or corrections...


Happy Coding!
                                                                           

No comments:

Post a Comment