#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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.