C++ Bc. 24 cpp
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
bool simulace(int N)
{
int rok[365] = {0};
for (int i=0; i<N; i++)
rok[int(365.0*rand()/(RAND_MAX + 1.0))]++;
for (int i=0; i<365; i++)
if (rok[i] > 1)
return true;
return false;
}
float odhad_pravdepodobnosti(int pocet_pokusu, int pocet_osob)
{
int test=0;
for (int i=0; i<pocet_pokusu; i++)
if (simulace(pocet_osob))
test++;
return float(test)/float(pocet_pokusu);
}
int main()
{
srand(time(0)); // inicializace generatoru rand()
const int pocet_pokusu = 100000;
cout << "\npocet pokusu v kazde simulaci je " << pocet_pokusu << "\n\n";
int pocet[] = {2, 3, 4, 5, 10, 15, 20, 23, 30, 40, 50};
cout.setf(ios_base::fixed, ios_base::floatfield);
cout.precision(4);
cout << "pocet osob pravdepodobnost\n";
for (int i=0; i<sizeof(pocet)/sizeof(int); i++)
{
int pocet_osob = pocet[i];
cout << setw(9) << pocet_osob << " ";
// odhad pravdepodobnosti pocitame vzdy t-krat
for (int t=0; t<7; t++)
cout << odhad_pravdepodobnosti(pocet_pokusu, pocet_osob) << " ";
cout << endl;
}
}
[ Zpět ]