2.6k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Hallo liebe Gemeinde! Ich habe mal ein kleines Problem und zwar möchte ich gern Zufallszahlen die in einer Listbox erzeugt werden in TextBoxen übertragen. Also 1.Eintrag der Listbox in TextBox 1, 2.Eintrag in TextBox 2 usw. Es sind insgesamt 10 TextBoxen. Die ersten 10 Einträge lassen sich auch recht gut verarbeiten, nur wie bekomme ich dann den 11., 21., 31....Eintrag wieder in die TextBox 1, den 12., 22., 32....Eintrag wieder in die TextBox 2 ... den 18.,28., 38....Eintrag wieder in TextBox 8? Hat vielleicht jemand eine gute Idee? Für Vorschläge wäre ich sehr dankbar! Ach ja, ich habs auch schon mit dem %-Operator probiert, klappt aber nicht. Danke und viele Grüße, Claudia.

9 Antworten

0 Punkte
Beantwortet von dr-ma-busen Mitglied (261 Punkte)
Moin!

Da Sie keine Angabe über die verwendete Programmiersprache machen, kann ich nur mit Pseudocode dienen.

Wenn ich Ihr Problem richtig verstanden habe, dann würde ich es in etwa so lösen:


zähler_liste := 0
zähler_textbox := 0

solange zähler_liste kleiner anzahl_liste_zufallszahlen
begin

wenn zähler_textbox = 0 dann
begin
textbox1 := textbox1 + liste_zufallszahlen[zähler_liste] + ","
ende

...

wenn zähler_textbox = 9 dann
begin
textbox9 := textbox9 + liste_zufallszahlen[zähler_liste] + ","
ende

erhöhe zähler_textbox um +1
wenn zähler_textbox größer anzahl_textboxen dann
begin
zähler_textbox := 0
ende

erhöhe zähler_liste um +1
ende



MfG
0 Punkte
Beantwortet von
Ja, sorry die Angabe der Programmiersprache fehlt! Habe ich doch wirklich glatt vergessen. Also es handelt sich dabei um: C#
P.S. Mit dem was da geschrieben steht kann ich leider absolut nichts anfangen.
0 Punkte
Beantwortet von
Noch ein kleiner Nachtrag: die erzeugten Zufallszahlen sollen nicht durch Komma getrennt in der TextBox erscheinen, sondern jede einzeln. Also in TextBox1 sollen die Zufallszahlen 1, 11, 21, 31, 41, ...1001, ....10011.. stehen. In Textbox8 die Zufallszahlen 8, 18, 28, 38, ...1008..., dass heißt nach dem Start des Programms sind die TextBoxen leer, dann kommt der Klick auf einen Button der einen Timer aktiviert und der erzeugt im Sekundentakt jeweils eine zufällige Zahl zwischen 1 und 1000. Ist vielleicht so etwas verständlicher formuliert? Danke für brauchbare Vorschläge!
0 Punkte
Beantwortet von dr-ma-busen Mitglied (261 Punkte)
Ah ok, glaube jetzt habe ich es verstanden.

Also in TextBox1 sollen alle Zahlen dessen einer = 1 ist. in TextBox2 sollen alle Zahlen dessen einer = 2 ist usw. Richtig?

Dann wäre eine Möglichkeit, mit Hilfe einer kopfgesteuerten Schleife (z.B. while-Schleife), von der Zufallszahl so lange 10 abziehen bis sie kleiner als 10 ist.

MfG
0 Punkte
Beantwortet von
Leider falsch:-( Ich versuch es dann mal noch etwas einfacher zu erklären: in eine Listbox1 wird jede Sekunde eine zufällig erstellte Zahl geschrieben. Da steht dann z.B. nach dem 10.Eintrag folgendes drin:
12
345
3
334
7
112
78
588
987
160
Die 12 soll nun in Textbox1 geschrieben werden, die 345 in TextBox2, die 3 in Textbox3 usw. Wenn jetzt die 160 in Textbox10 geschrieben wird, kommt ja danach z.B. die 455 als 11.Eintrag in der Listbox1 und die soll wieder in die Textbox1 geschrieben werden. Der 12.Eintrag in der Listbox1 könnte dann eine 654 sein und muss wieder in Textbox2 geschrieben werden usw. Also jeder 10.Eintrag überschreibt quasi seinen Vorgänger. War es so verständlicher?
0 Punkte
Beantwortet von dr-ma-busen Mitglied (261 Punkte)
Also ist der Algorithmus ja doch so wie in Antwort 1 beschrieben.

MfG
0 Punkte
Beantwortet von
Hallo! Danke erst einmal für die Antwort. Leider kann ich mit Antwort1 nicht so viel anfangen - ließe sich das auch in C# ausdrücken? Ich bin leider kein Profi sondern nur ein ganz einfacher Anfänger der ein wenig am probieren ist und nach vielen Fehlversuchen hier nur mal um Rat und Unterstützung bittet. Ich geh mal davon aus, dass ich dieses + "," was in Antwort1 auftaucht, auch weglassen könnte, den in jeder TextBox soll nur immer ein Wert stehen - also entweder der 1. oder der 11. oder der 21. usw. niemals mehrere Werte. Danke schon mal für hilfreiche Antworten. Ciao Claudia.
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Claudia,

der modulo Operator % sollte da aber schon das Mittel der Wahl sein. Du musst nur daran denken, dass der Wertebereich für die Operation
X % 10 von 0..9 läuft und nicht von 1..10. Demnach müsstest Du die Indizes für die Textboxen auch von 0..9 laufen lassen oder aber auf das Ergebnis der %-Operation immer eins dazuddieren.

Gruß
computerschrat
0 Punkte
Beantwortet von
Hallo computerschrat,
danke für Deinen Vorschlag. Ich hatte mir zwar auch gedacht, es in dieser Richtung zu realisieren, aber leider funktioniert das irgendwie nicht. Ich hab auch nicht wirklich einen guten Gedanken im Moment, der mich weiterbringen würde. Hast Du vielleicht ein guten Ansatz für mich? Danke und viele Grüße, Claudia.
...