Hey Leute.
Wir haben gerade in Mathe Zufälligkeit.
Da dachte ich mir, schreibe ich mir ein kleines Programm...
3 textboxen :
Von, bis, wie-viele-versuche
Und ein Start-button und ne Listbox....
Allerdings war das am Ende gar nicht so leicht wie ich dachte...
Bevor ich hier jetzt meinen völlig falschen Code poste ( Ich hab das mit Dictionarys versucht... ) wollte ich von euch hören, wie ich das am besten mache....
Ich glaube ich mach mir das viel zu schwer. Ich hab nämlich jetzt für jeden eintarg in der Liste sein key geprüft ob der der Random Zahl entspricht, und dann die Value + 1 gerechnet...
Und dann für für jede eintrag eine neues Listbox item erstellt, wenn der Timer gestoppt hat, und das hat er wenn alle versuche abgelaufen sind...
Ich zig jetzt einfach doch mal den Code :
Spoiler anzeigen
Ich weiß nicht, ob ich da ganz anders rangehen soll, oder ob das schon der richtige Weg wahr....
jedenfalls kommt als Fehler bei der foreach schleife
"Die Auflistung wurde geändert. Der Enumerationsvorgang kann möglicherweise nicht ausgeführt werden."
Danke für eure Hilfe...
Edit by Manschula: Bitte auf das richtige Unterforum achten! --> Thema aus dem Offtopic verschoben, Präfix und Titel angepasst
Wir haben gerade in Mathe Zufälligkeit.
Da dachte ich mir, schreibe ich mir ein kleines Programm...
3 textboxen :
Von, bis, wie-viele-versuche
Und ein Start-button und ne Listbox....
Allerdings war das am Ende gar nicht so leicht wie ich dachte...
Bevor ich hier jetzt meinen völlig falschen Code poste ( Ich hab das mit Dictionarys versucht... ) wollte ich von euch hören, wie ich das am besten mache....
Ich glaube ich mach mir das viel zu schwer. Ich hab nämlich jetzt für jeden eintarg in der Liste sein key geprüft ob der der Random Zahl entspricht, und dann die Value + 1 gerechnet...
Und dann für für jede eintrag eine neues Listbox item erstellt, wenn der Timer gestoppt hat, und das hat er wenn alle versuche abgelaufen sind...
Ich zig jetzt einfach doch mal den Code :
Quellcode
- private void button1_Click(object sender, EventArgs e)
- {
- versuche = Convert.ToInt32(textBox3.Text);
- von = Convert.ToInt32(textBox1.Text);
- bis = Convert.ToInt32(textBox2.Text);
- for (int i = von; i < bis; i++)
- {
- liste.Add(i, 0);
- }
- jetzt = 0;
- timer1.Start();
- }
- private void timer1_Tick(object sender, EventArgs e)
- {
- jetzt += 1;
- if (jetzt <= versuche)
- {
- Random r = new Random();
- int rnd = r.Next(von, bis);
- foreach (var kvp in liste)
- {
- if (kvp.Key == rnd)
- {
- int bla = kvp.Value + 1;
- liste[rnd] = bla;
- }
- }
- }
- else
- {
- timer1.Stop();
- foreach (var kvp in liste)
- {
- listBox1.Items.Add(kvp.Key + " : " + kvp.Value);
- }
- }
- }
Ich weiß nicht, ob ich da ganz anders rangehen soll, oder ob das schon der richtige Weg wahr....
jedenfalls kommt als Fehler bei der foreach schleife
"Die Auflistung wurde geändert. Der Enumerationsvorgang kann möglicherweise nicht ausgeführt werden."
Danke für eure Hilfe...
Edit by Manschula: Bitte auf das richtige Unterforum achten! --> Thema aus dem Offtopic verschoben, Präfix und Titel angepasst
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()