der käsewürfel (s.a Mathematik::Wie kann ich das verifizieren u. C++:: seltsame access violation)
-
(alles bei 10k würfeln)
60%f -> 100%
62% -> 99,95%
63% ->99,76
64% -> 98,53%
65% -> 94,72
66 -> 85,19
67 -> 67,44
68 -> 46,31
69 -> 26,5
70 -> 12,36
71 -> 5,67
72 -> 2,13
73 -> 0,88
74 -> 0,17hm?
-
*platzhalter*
so. ich lass mein programm auch nochmal durchlaufen, bei 100000 würfeln hat es mir aber als bisherigen vergleichswert 5319/100000 geliefert, also 5,319%
-
welcher prozentsatz?
-
70%
-
nicht 71?
hast du icq? (#327574613)
-
jo, hab icq, ich sprech dich an, wenn ichf ertig mit dem abtippen des textes für aufgabe 3 bin.
hier die neusten auswertungen(programm rechnet noch)
60%: 99,999%
61%: 99,957%
62%: 99,730%
63%: 98,482%
64%: 94,295%
65%: 84,013%
66%: 66,147%
67%: 44,767%
68%: 25,539%
69%: 12,512%
70%: 5,478%
71%: 2,073%
72%: 0,735%
73%: 0,230%
74%: 0,06%
75%: 0,018%
76%: 0,005%
77%: 0,002%und danach ende^^
-
es sieht mir so aus als wären unsere werte ziemlich identischm nur um eins verschoben... das ist seltsam
-
otze, könntest du bitte einmal deine Zufallsfunktion für den Käse posten?
Also meine ist:
unsigned int x, y, z; for (x = 0; x < 20; x++) { for (y = 0; y < 20; y++) { for (z = 0; z < 20; z++) { unsigned int prob = rand() % 101; if (prob <= CheeseProbability) { Cube.Data[x][y][z] = 1; } else { Cube.Data[x][y][z] = 0; } } } }
CheeseProbability geht von 0 - 100 und rand() % 101 sollte doch eine Zufallszahl zwischen 0 und 100 erzeugen, oder?
Edit: Sorry, falls falsches Forum
Daniel
-
ist zwar nicht besodners schön...
so, das ganze ist in einer klasse:
static bool isRandomized; //private methods bool randomizer(int chance=50){ if(!isRandomized){ srand(time(NULL)); isRandomized=true; } return rand()%100>chance?0:1; }
der rest ist eigentlich so wie bei dir
-
otze schrieb:
ist zwar nicht besodners schön...
so, das ganze ist in einer klasse:
static bool isRandomized; //private methods bool randomizer(int chance=50){ if(!isRandomized){ srand(time(NULL)); isRandomized=true; } return rand()%100>chance?0:1; }
der rest ist eigentlich so wie bei dir
Dein rand()%100 erzeugt doch nur Zahlen zwischen 0 und 99, oder?
Also auf cplusplus.com hab ich in der Reference folgendes gefunden:
printf ("A number between 0 and 99: %d\n", rand()%100);
http://www.cplusplus.com/ref/cstdlib/rand.html
Daniel
-
und was sagt dir das größer zeichen dahinter?
-
Das hatte ich übersehen
-
oops hattest doch recht, mir war klar, dass es nur werte von 0-99 geben konnte,hab mich dann aber doch mit dem > zeichen gedanklich verrannt, thx für das gute auge
//edit also nochmal alles durchrechnen lassen^^
daniel, hast du eugentlich auch en paar testwerte die du posten könntest? so zum vergleichen
-
Bin grad dabei
edit: alle Werte jetzt mit 100k Durchläufen
Käsewahrscheinlichkeit - Fließwahrscheinlichkeit
65% - 91.69%
66% - 78.978%
67% - 59.73%
68% - 38.709%
69% - 21.048%
70% - 9.924%
71% - 4.19%
72% - 1.514%
73% - 0.559%Weitere folgen noch, dann aber mit 1000000 Durchläufen... oder ich bau einen Netzwerkmodus ein und schnapp mir den PC von meinem Bruder
Daniel
-
meine werte stimmen bisher mit deinen in etwa überein(ca 100k durchgänge)
64%:97.609
65%:91.704
66%:79.216
67%:60.188
68%:38.483
69%:21.072
70%:9.814
71%:4.144
72%:1.531rest kommt per edit, ist aber echt krass, wieviel er compiler aus sonem kleinen programm noch an speed rausholen kann wenn man von debug auf release stellt
-
Hab jetzt auch mal den Wert für 70% mit 10000000 Durchläufen ausrechnen lassen ... das dauert Das ist recht genau bei 10% ich frage mich ob das Zufall ist oder wenn man es noch öfters laufen lässt, ob es dann 10 wird. Ich lass es mal mit 100 Millionen laufen
70% - 9.9699%
Daniel
-
nein, das wird sich um 9,7% einpendeln, zwischen meinen 100k und deinen 1million durchläufen war ja auch kein großer unterschied mehr festzustellen
-
nt