StandardDeviation

                Never    
C++
       
#include<iostream.h>
#include<conio.h>
#include<math.h>
typedef class StandardDeviation{
	float *age,*midAge,*midAgeSq,sumAgeSq,median,variance,sd;
	int n;
public:
	StandardDeviation(){}
	StandardDeviation(int size){
		n=size;
		age=new float[n];
		midAge=new float[n];
		midAgeSq=new float[n];
	}
	void calcMedian(){
		if(n%2==0){
			median = (age[(n/2)-1]+age[n/2])/2;
		}else{
			median = age[n/2];
		}
	}
	void calcVariance(){
		variance = (sumAgeSq/(n-1));
	}
	void calcSD(){
		sd = sqrt(variance);
	}
	void run(){
		ageInput();
		sort();
		calcMedian();
		calcMidAge();
		calcMidAgeSq();
		showArray();
		calcSumAgeSq();
		calcVariance();
		calcSD();
		showValues();
	}
	void calcSumAgeSq();
	void calcMidAge();
	void calcMidAgeSq();
	void ageInput();
	void sort();
	void showValues(){
		cout<<"Medain  : "<<median<<endl;
		cout<<"Variance: "<<variance<<endl;
		cout<<"SD      : "<<sd<<endl;
	}
	void showArray();
	void swap(float &a,float &b){ float t=a;a=b;b=t; }
}SD;
void StandardDeviation::showArray(){
	cout<<"ID\tAGE\tAGE-MID\t (AGE-MID)^2"<<endl;
	for(int i=0;i<n;i++){
		cout<<i+1<<"\t"<<age[i]<<"\t"<<midAge[i]<<"\t "<<midAgeSq[i]<<endl;
	}
	cout<<endl;
}
void StandardDeviation::sort(){
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			if(age[i]<age[j]){
				swap(age[i],age[j]);
				swap(midAge[i],midAge[j]);
				swap(midAgeSq[i],midAgeSq[j]);
			}
		}
	}
}
void StandardDeviation::ageInput(){
	cout<<"Enter size: ";
	cin>>n;
	cout<<"Enter "<<n<<" Values\n";
	StandardDeviation(n);
	for(int i=0;i<n;i++){
		cin>>age[i];
	}
}
void StandardDeviation::calcSumAgeSq(){
	int t=0;
	for(int i=0;i<n;i++){
		t+=midAgeSq[i];
	}
	sumAgeSq=t;
}
void StandardDeviation::calcMidAge(){
	for(int i=0;i<n;i++){
		midAge[i] = age[i] - median;
	}
}
void StandardDeviation::calcMidAgeSq(){
	for(int i=0;i<n;i++){
		midAgeSq[i] = pow(midAge[i],2);
	}
}
int main(){
	clrscr();
	SD sd;
	sd.run();
	getch();
	return 0;
}

Raw Text