Hallo,
ich habe einen Button programmiert das Ereignis zu simulieren, 4 Würfel zu werfen. Der Zähler wird nun stets um einen hochgezählt, wenn genau 3 gleiche Zahlen sich ergeben (am Beispiel a=b=c, man muss die Anzahl hinterher also noch mit 4 multiplizieren, da die anderen drei Fälle a=b=d, a=c=d und b=c=d fehlen). Ein kleines Wahrscheinlichkeitssimulationsprogramm.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| private void button1_Click(object sender, EventArgs e) { int zaehler = 0;
Random rnd = new Random(); for (int i=1; i<=10000; i++) { int a = rnd.Next(1,7); int b = rnd.Next(1,7); int c = rnd.Next(1,7); int d = rnd.Next(1,7);
if ((a == b && a == c && a > d) || (a==b && a==c && a<d)) { zaehler = zaehler + 1; label1.Text = Convert.ToString(zaehler); } } |
Nun die Frage: Warum tut das Programm dies nicht? Ich meine: Warum wird der zum String convertierte
zaehler nicht während der Laufenden Schleife ständig neu angezeigt? Im Taschenrechner geht das ganz einfach und man sieht, wie die Zahl immer größer wird, aber hier gibts erst nach dem kompletten Durchlaufen der Schleife die Zahl, obwohls im Code ja anders steht. Was tun, damits so wird? Natürlich habe ich dann auch vor
i selbst als Fortschrittsanzeige anzuzeigen, macht wohl mehr Sinn.
Gruß
Hüseyin
Moderiert von
Christian S.: Topic aus C# - Die Sprache verschoben am Sa 03.03.2007 um 21:33