# Statistics with C++
// Program to calculate the MODE of given grouped data( Only for Unimodal Data).
#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!
No comments:
Post a Comment