Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #include <time.h>
- #include <fstream>
- #include <time.h>
- #include <fstream>
- #define INTERVAL 500 //iteratii pt estimarea unui pi
- #define k 50 //numar incercari de estimare pi
- using namespace std;
- int main()
- {
- ofstream f("rezultate.txt");
- int interval, i;
- double rand_x, rand_y, origin_dist, pi;
- int circle_points = 0, square_points = 0;
- clock_t t1,t2;
- int j,x=0;
- double time_taken[50];
- srand(time(NULL));
- for(j=0;j<k;j++){ //k teste
- double timp=0;
- t1 = clock();
- for (i = 0; i < (INTERVAL * INTERVAL); i++) {
- rand_x = double(rand() % (INTERVAL + 1)) / INTERVAL;
- rand_y = double(rand() % (INTERVAL + 1)) / INTERVAL;
- origin_dist = rand_x * rand_x + rand_y * rand_y;
- if (origin_dist <= 1)
- circle_points++;
- square_points++;
- pi = double(4 * circle_points) / square_points;
- //timp=timp+time_taken;
- }
- t1 = clock() - t1;
- time_taken[x]= ((double)t1)/CLOCKS_PER_SEC;
- f <<"Timpul total este "<<time_taken[x]<<" secunde "<<"pentru "<<(INTERVAL*INTERVAL)<<" iteratii";
- f<<(f,"\n");
- f << "Final Estimation of Pi = " << pi;
- f<<(f,"\n");
- x++;
- f<<(f,"----------------\n");
- }
- double suma=0;
- for(int p=0;p<x;p++){
- suma=suma+time_taken[p];
- }
- f<<"Timpul total necesar pt 50 de teste este "<<suma<<" secunde"<<endl<<"iar timpul mediu pt fiecare estimare de Pi (la "<<(INTERVAL*INTERVAL)<<" de iteratii) este " << ((double)suma)/k<<" secunde";
- return 0;
- }
Add Comment
Please, Sign In to add comment