Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <time.h>
- #include <iostream>
- #include <stdlib.h>
- #include <math.h>
- void wait(int miliseconds);
- using namespace std;
- int main()
- {
- int czas = clock();
- double entropia = 0.00;
- srand(time(NULL));
- int kostka[6000];
- int oczkaKostki[6] = { 0,0,0,0,0,0 };
- int losowanieKostki = 0;
- int losowanieOczka = 0;
- int liczbaKostek = 6000;
- for (int i = 0;i < 6000;i++) kostka[i] = 6;
- for (int i = 0; i < 100; i++) {
- cout << "\n\nProba " << i + 1 << "\n\n";
- for (int i = 0; i < 6000; i++)
- {
- losowanieKostki = rand() % 20; //prawdopodobienstwo przewrocenia kostki
- if (losowanieKostki == 1)
- {
- losowanieOczka = rand() % 6 + 1;
- kostka[i] = losowanieOczka;
- }
- }
- for (int j = 0; j < 6; j++)
- {
- oczkaKostki[j] = 0;
- }
- for (int i = 0; i < 6000; i++) {
- for (int j = 1; j < 7; j++)
- {
- if (kostka[i] == j)
- oczkaKostki[j - 1]++;
- }
- }
- for (int j = 0; j < 6; j++)
- {
- cout << "Ilosc " << j + 1 << ": " << oczkaKostki[j] << "\n";
- }
- entropia = log(liczbaKostek) * (liczbaKostek + 1.0 / 2.0) - liczbaKostek + ((log(2) + log(3.1415)) / 2);
- for (int j = 0; j < 6; j++) {
- if (oczkaKostki[j] > 2) {
- entropia -= log(oczkaKostki[j]) * (oczkaKostki[j] + 1.0 / 2) + ((log(2) + log(3.1415)) / 2) - oczkaKostki[j];
- }
- }
- cout << "Entropia: " << entropia << endl;
- wait(50);
- }
- cout << "\n\nCzas trwania obliczen: " << clock() - czas << "ms" << endl;
- wait(5000); //program wylaczy sie po 5 sek
- return 0;
- }
- void wait(int miliseconds) {
- clock_t endwait;
- endwait = clock() + miliseconds * (CLOCKS_PER_SEC / 1000);
- while (clock() < endwait) {}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement