Popular Posts

Showing posts with label GEOMETRIC MEAN for discrete data.. Show all posts
Showing posts with label GEOMETRIC MEAN for discrete data.. Show all posts

25 Jan 2014

GEOMETRIC MEAN for discrete frequency distribution.

# Statistics with C++


//program to calculate the GEOMETRIC MEAN for given discreate frequency distribution.

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
const SZ=100;
class GMean
{
  public : float X[SZ],F[SZ],FLX[SZ];
  float Tn,sf,sflx,gm,t;
  public : void getdata();
  void showdata();
  void gmean();
};

void GMean :: getdata()
{
  cout<<"\nEnter total number of your data : ";
  cin>>Tn;
  cout<<"\nEnter your data  : \n\n";
  for(int i=0;i<Tn;i++)
  {
    cout<<" X "<<i+1<<" : ";
    cin>>X[i];
  }
  cout<<"\nEnter frequencies for above data : \n\n";

  for(int j=0;j<Tn;j++)
  {
    cout<<"Frequency for "<<X[j]<<" : ";
    cin>>F[j];
  }
}

void GMean :: gmean()
{
   sf=0;
   for(int i=0;i<Tn;i++)
   {
     FLX[i] =F[i] * (log10 (X[i]));
     sflx+=FLX[i];
     sf+=F[i];
   }
   t= (sflx/(double)sf);
   gm= pow(10,t);
}

void GMean :: showdata()
{

   cout<<"\n\n*** YOUR DATA IS AS FOLLOWS: ***\n\n";
   cout<<"\n\n  X  \t F \t logX \t F*logX\n ";
   for(int i=0;i<Tn;i++)
   { cout<<X[i]<<"\t"<<F[i]<<"\t"<<setprecision(3)<<log10(X[i])<<"\t"<<FLX[i]<<" \n "; }

  // cout<<"\n\nNumber of observations = "<<Tn;
  // cout<<"\nSummation of Freq.*logX = "<<sflx;
  // cout<<"\n\n"<<t;
   cout<<"\n\nGeometric mean for your data = "<<gm;

}

void main()
{
  GMean GM;
  clrscr();
  GM.getdata();
  GM.gmean();
  GM.showdata();
  getch();

}

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

Out Put :

Enter total number of your data :  9

Enter your Data :
    X1 :   130
    X2 :   135
    X3 :   140
    X4 :   145
    X5 :   146
    X6 :   148
    X7 :   149
    X8 :   150
    X9 :   157

Enter frequencies for above data : 

 Frequency for 130 :  3
 Frequency for 135 :  4
 Frequency for 140 :  6
 Frequency for 145 :  6
 Frequency for 146 :  3
 Frequency for 148 :  5
 Frequency for 149 :  2
 Frequency for 150 :  1
 Frequency for 157 :  1

*** YOUR DATA IS AS FOLLOWS: ***



  X      F       logX    F*logX
 130    3       2.114   6.342
 135    4       2.13    8.521
 140    6       2.146   12.877
 145    6       2.161   12.968
 146    3       2.164   6.493
 148    5       2.17    10.851
 149    2       2.173   4.346
 150    1       2.176   2.176
 157    1       2.196   2.196


Geometric mean for your data = 142.528

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

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

Happy Coding!