Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include <vector>
- #include <stdlib.h>
- #include <time.h>
- using namespace std;
- //vector<unsigned int> wektor;
- vector<double> wektor;
- vector<int> wektor2;
- //unsigned int random1(unsigned int xn, unsigned int a, unsigned int c, unsigned int M)
- //{
- // float tmp;
- // unsigned int liczba;
- // tmp = a*wektor[xn]+c;
- // liczba = (unsigned int)tmp%M;
- // wektor.push_back(liczba);
- // return liczba;
- //
- //}
- //
- //void random2(int i)
- //{
- // bool tmp = (wektor2[i-3] + wektor2[i-7]) % 2;
- // wektor2.push_back(tmp);
- //}
- int main()
- {
- //unsigned int generowana;
- //unsigned int x0 = 15;
- //unsigned int a = 69069;
- //int c = 1;
- //unsigned int M = 4294967295;
- int przedzialy[] = {0,0,0,0,0,0,0,0,0,0};
- int przedzialy3[] = {0,0,0,0,0,0,0,0,0,0};
- int przedzialy2[] = {0,0,0,0};
- //wektor.push_back(15);
- //wektor2.push_back(0);
- //wektor2.push_back(1);
- //wektor2.push_back(1);
- //wektor2.push_back(1);
- //wektor2.push_back(0);
- //wektor2.push_back(1);
- //wektor2.push_back(1);
- //for(int i = 0; i < 100000; i++)
- //{
- // unsigned int randomowa1 = random1(i,a,c,M);
- // przedzialy[randomowa1/(M/10)]++;
- //}
- //for(int i = 0; i < 10; i++)
- //{
- // cout << przedzialy[i] << "\n";
- //}
- //cout << "Druga czesc\n";
- //
- //for(int i = 7; i < 100032; i++)
- //{
- // random2(i);
- //}
- //for(int i = 0; i < 100000; i++)
- //{
- // unsigned int randomowa2 = 0;
- // for(float j = 0; j < 32; j++)
- // {
- // randomowa2 += (wektor2[i+j] * pow(2,j));
- // }
- // przedzialy2[randomowa2/(M/10)]++;
- //}
- //for(int i = 0; i < 10; i++)
- //{
- // cout << przedzialy2[i] << "\n";
- //}
- srand (time(NULL));
- double liczba = (rand() % 100000)/100000;
- int n = 100000;
- //int n=10;
- for(int i=0; i<n; i++)
- {
- wektor.push_back((double) rand() / (RAND_MAX));
- //cout << wektor[i] << "\n";
- wektor[i] = wektor[i] * 100 + 10;
- przedzialy[(int)((wektor[i])/10) -1]++;
- }
- for(int i = 0; i < 10; i++)
- {
- cout << przedzialy[i] << "\n";
- }
- cout << "\n\n";
- for(int i=0; i<n; i++)
- {
- double liczba= ((double) rand() / (RAND_MAX));
- if(liczba < 0.25)
- {
- wektor2.push_back(1);
- przedzialy2[0]++;
- }
- else if(liczba < 0.55)
- {
- wektor2.push_back(2);
- przedzialy2[1]++;
- }
- else if(liczba < 0.85)
- {
- wektor2.push_back(3);
- przedzialy2[2]++;
- }
- else
- {
- wektor2.push_back(4);
- przedzialy2[3]++;
- }
- }
- for(int i = 0; i < 4; i++)
- {
- cout << przedzialy2[i] << "\n";
- }
- double h = 0.02;
- double a= -0.0002;
- double b = 0.022;
- double rand1_osx=0;
- double rand2_osy=0;
- cout << "\n\n";
- int i=0;
- while(i<n)
- {
- rand1_osx= ((double) rand() / (RAND_MAX)) * 100 + 10;
- //od 10 do 110
- rand2_osy= ((double) rand() / (RAND_MAX)) * (h+0.0001);
- //od zera do h
- //podstawiamy do wzoru
- if(rand2_osy < (a*rand1_osx + b))
- {
- i++;
- przedzialy3[(int)((rand1_osx)/10) -1]++;
- }
- }
- for(int i = 0; i < 10; i++)
- {
- cout << przedzialy3[i] << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement