#include <iostream>
#include <cmath>

using namespace std;

double rand_float(double a, double b);
const int MAXNUM = 50000;
int main ()
{
	float arrayNum [MAXNUM];

	double meanCalc, varianceCalc;
	double meanApprox, varianceApprox;

	int n;

	cout<< "How many numbers do you want << " <<MAXNUM <<" ?" << endl;

	cin >> n;

	for (int i = 0; i < n; i++)
		arrayNum[i] = rand_float(4.0,10.0);

	// compute approx values

	meanApprox = (4.0 + 10.0) /2.0;
	varianceApprox = sqrt(pow((10.0 - 4.0), 2)/12.0);
	
	
	double sum = 0;
	for (int j = 0; j < n ; j++)
		sum = sum + arrayNum[j];

	meanCalc = sum / (double)n;

	double  sumDiff =0;
    for (int k = 0; k < n; k++)
	  sumDiff = pow((arrayNum[k] - meanCalc),2) + sumDiff;

	varianceCalc = sqrt( sumDiff/((double)n));

    cout << " Mean approximate " << meanApprox << " mean real " << meanCalc << endl;

	cout << " Variance Approx " << varianceApprox << " variance  real " << varianceCalc << endl;

	return 0;
}

double rand_float(double a, double b)
{
	return ((double)rand()/RAND_MAX)*(b-a) + a;
}