#include #include #include using namespace std; double tab[5][5]; double Px[5]; double Fx[5]; double Pywarx[5][5]; double Fywarx[5][5]; double random1,random2; int x, y; int ile[5][5]; int main() { srand(time(0)); int size = 5; tab[1][1] = 0.2; tab[1][3] = 0.4; tab[2][1] = 0.1; tab[3][4] = 0.05; tab[4][1] = 0.2; tab[4][3] = 0.05; for (int k = 1; k < 5; k++) { for (int z = 1; z < 5; z++) Px[k] += tab[k][z]; } for (int k = 1; k < 5; k++) Fx[k] = Fx[k - 1] + Px[k]; for (int k = 1; k < 5; k++) for (int z = 1; z < 5; z++) Pywarx[k][z] = tab[z][k] / Px[z]; //najpierw y for (int k = 1; k < 5; k++) for (int z = 1; z < 5; z++) Fywarx[k][z] = Fywarx[k - 1][z] + Pywarx[k][z]; for (int k = 1; k <= 100000; k++) { random1 = ((double)rand() / (RAND_MAX)); for (int z = 1; z < 5; z++) if (random1 <= Fx[z]) { x = z; break; } random2 = ((double)rand() / (RAND_MAX)); for (int z = 1; z < 5; z++) if (random2 <= Fywarx[z][x]) { y = z; break; } ile[x][y] += 1; } for (int k = 1; k < 5; k++) { for (int z = 1; z < 5; z++) cout << ile[k][z] << " "; cout << endl; } return 0; }