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

#include <iostream> #include <cmath> #include <ctime> #include <stdlib.h> #defin

ID: 3755891 • Letter: #

Question

#include <iostream>
#include <cmath>
#include <ctime>
#include <stdlib.h>
#define INTERVAL 1000;
double random_double_generator();

using namespace std;

double random_double_generator()
{
const int NUMBER = 10;
double randNum;
int i;
srand(time(NULL));
for(i=0; i < NUMBER; i++)
{
randNum = (double)rand()/RAND_MAX;
cout << randNum << endl;
}
}
const double MaxThrow = 1000;
double randNum, randNumx, randNumy, originDistance;
float pi;
int circlePoints = 0, squarePoints = 0;
double min=-1, max=1;

double random_double_generator(double min, double max)
{
const int NUMBER = 1;
double randNumx;
float i;
srand(time(NULL));

for (i=0; i < NUMBER; i++)
{
randNumx = (double)rand()/(RAND_MAX*1);
cout << randNumx << endl;
return randNumx;
}
}
int random_number_generator( double min, double max)
{
const int NUMBER = 1;
float i;
srand(time(NULL));
for (i=0; i < NUMBER; i++)
{
randNumy = (double)rand() / RAND_MAX*1;
return randNumy;
}

}
double euclidian_distance(double xvalue, double yvalue)
{
originDistance = sqrt((randNumx*randNumx)+(randNumy*randNumy));
return originDistance;
}
int main()
{
randNum = random_double_generator();
randNumx = random_double_generator(0,1);
randNumy = random_double_generator(0,1);
euclidian_distance(randNumx,randNumy);

if (originDistance <= 1 )
{
circlePoints++;
}

else
{
squarePoints++;
}

pi = (4*circlePoints)/squarePoints;
cout << " rand Num is " << randNum << endl;
cout << "Rand X value is " << randNumx << endl;
cout << "rand Y value is "<< randNumy << endl;
cout << " Distance from origin is " << originDistance << endl;
cout << " The estimated value of PI is " << pi << endl;
return 0;
}

// im looking to keep this progrm looping to determine pi but can seem to get more than one reading.

Explanation / Answer

If you have any doubts, please give me comment...

You have to use srand(time(NULL)) only one time...

#include <iostream>

#include <cmath>

#include <ctime>

#include <stdlib.h>

#define INTERVAL 1000;

using namespace std;

const double MaxThrow = 1000;

double randNum, randNumx, randNumy, originDistance;

float pi;

int circlePoints = 0, squarePoints = 0;

double min = -1, max = 1;

double random_double_generator();

double random_double_generator() {

const int NUMBER = 10;

double randNum;

int i;

srand(time(NULL));

for (i = 0; i < NUMBER; i++) {

randNum = (double)rand() / RAND_MAX;

}

return randNum;

}

double random_double_generator(double min, double max) {

const int NUMBER = 1;

double randNumx;

float i;

for (i = 0; i < NUMBER; i++) {

randNumx = (double)rand() / (RAND_MAX * 1);

}

return randNumx;

}

int random_number_generator(double min, double max) {

const int NUMBER = 1;

float i;

for (i = 0; i < NUMBER; i++) {

randNumy = (double)rand() / RAND_MAX * 1;

}

return randNumy;

}

double euclidian_distance(double xvalue, double yvalue) {

originDistance = sqrt((randNumx * randNumx) + (randNumy * randNumy));

return originDistance;

}

int main() {

srand(time(NULL));

randNum = random_double_generator();

randNumx = random_double_generator(0, 1);

randNumy = random_double_generator(0, 1);

euclidian_distance(randNumx, randNumy);

if (originDistance <= 1) {

circlePoints++;

}

else {

squarePoints++;

}

pi = (4 * circlePoints) / (double)squarePoints;

cout << " rand Num is " << randNum << endl;

cout << "Rand X value is " << randNumx << endl;

cout << "rand Y value is " << randNumy << endl;

cout << " Distance from origin is " << originDistance << endl;

cout << " The estimated value of PI is " << pi << endl;

return 0;

}