Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This code uses the equation for standard deviation to be E(X^2) - E(X)^2. I need

ID: 3557031 • Letter: T

Question

This code uses the equation for standard deviation to be E(X^2) - E(X)^2. I need it to use this equation for standard deviation:

Please modify it to use this equation.

#include <iostream>
#include<math.h>
#include <cstdlib>
using namespace std;

void simulateTravelTime(int);

int main()
{
   simulateTravelTime(10000);
}
void simulateTravelTime(int number_simulations){
   int timeTotal = 0;
   int time; //store time in 1 sim
   int E =0; //to hold E(X^2) to solve variance E(X^2) - E(X)^2

   for(int i =1; i<=number_simulations;i++){
       time =0; //reset time
       while(true){
           if(rand() %2 == 0)
               time += 3; //turns right wonders around for 3 min
           else //its gone left
           {
               if(rand() %3 ==0)
               {
                   time += 2;
                   timeTotal += time;
                   E += time*time; //Add X^2
                   break; //leaves in 2min
               }
               else{
                   time += 5;//end up back at start
               }

}
       } //while end
   }
   cout<<"average = "<<((double) timeTotal/(double)

number_simulations)<<" Standard deviation = "<<sqrt(((double)E / (double)number_simulations) -((double) timeTotal/(double) number_simulations)*((double) timeTotal/(double) number_simulations))<< ' ';

   return;
}

Explanation / Answer

#include <iostream>
#include <string>
#include <math.h>
class StdDeviation
{

private:

    int n;

    double x[100];

    double mean;

public:

    double CalculateMean()

    {

        double sum = 0;

        for(int i = 0; i < n; i++)

            sum += x[i];

        return (sum / n);

    }

    double CalculateSampleVariane()

{

        mean = CalculateMean();

        double temp = 0;

        for(int i = 0; i < n; i++)

        {

             temp += (x[i] - mean) * (x[i] - mean) ;

        }

        return temp / (n - 1);

    }

    int SetValues(double *p, int count)

    {

        if(count > 100)

            return -1;

        n = count;

        for(int i = 0; i < count; i++)

            x[i] = p[i];

        return 0;

    }
          

double GetSampleStandardDeviation()

    {

        return sqrt(CalculateSampleVariane());

    }

};

int main()

{

    double arrNumbers[100];
    int num;
   std::cout<<"how many values do u want to enter,must be less than 100"<<' ';
   std::cin>>num;
    for(int i=0;i<num;i++)
    std::cin>>arrNumbers[i];


    StdDeviation sd;

    sd.SetValues(arrNumbers,num);

    double mean = sd.CalculateMean();


    double samplevariance = sd.CalculateSampleVariane();

    double sampledevi = sd.GetSampleStandardDeviation();

    std::cout<<"mean:" <<mean<<' ';
    std::cout<<"samplevariance:" <<samplevariance<<' ';
    std::cout<<"sample diviation:"<<sampledevi<<' ';

    return 0;

}