Gast
2012-05-09, 11:40:38
Hallo,
ich hab hier eine Javascript-Aufgabe und komme da einfach an einem Punkt nicht weiter und hoffe jemand hat da einen Tipp für mich.
Es geht darum eine zufällige Zahlenreihe beliebiger Länge zu erzeugen, ohne dass eine Zahl doppelt in der Reihe vorkommt.
Bsp:
Zahlen 1-5: 1 3 2 4 5
Gemacht werden soll das mit Arrays ohne bei Doppelziehung einfach noch mal neu zu ziehen.
Mein Gedankengang ist bisher:
- Abfrage per prompt wie lang die Zahlenreihe seien darf
- Erstellen eines Arrays mit dieser länge, wobei er mit jeden Platz [i] des Arrays mit i+1 auffüllt. Dann habe ich bei Eingabe 5 "1 2 3 4 5" im Array.
- Erstellen eines weiteren Arrays mit nur einem Platz. Der Platz wird mit einer zufälligen ganzzahligen Zahl im Bereich der Eingabe gefüllt. Das klappt auch.
- Die zufällige Zahl zeigt also auf einen platz im ersten Array.
- Ich entnehme diesen Platz aus dem ersten Array und speichere ihn in einem letzten Array dessen Inhalt ich dann ausgebe.
Dadurch sollte nichts doppelt vorkommen können.
Mein Problem ist jetzt die Wiederholung der ganzen Sache in einer Schleife.
Wie baue ich eine Schleife, die immer wieder eine neue Zufallszahl erzeugt, das entsprechende Element rausfischt und in ein neues Array steckt? Und dabei berücksichtigt, dass das Ursprungsarray ja immer kleiner wird.
Das klappt irgendwie so gar nicht und ne richtige Idee hab ich auch nicht =/
Hat evtl. jemand ein kleines Beispiel oder einen Rat?
ich hab hier eine Javascript-Aufgabe und komme da einfach an einem Punkt nicht weiter und hoffe jemand hat da einen Tipp für mich.
Es geht darum eine zufällige Zahlenreihe beliebiger Länge zu erzeugen, ohne dass eine Zahl doppelt in der Reihe vorkommt.
Bsp:
Zahlen 1-5: 1 3 2 4 5
Gemacht werden soll das mit Arrays ohne bei Doppelziehung einfach noch mal neu zu ziehen.
Mein Gedankengang ist bisher:
- Abfrage per prompt wie lang die Zahlenreihe seien darf
- Erstellen eines Arrays mit dieser länge, wobei er mit jeden Platz [i] des Arrays mit i+1 auffüllt. Dann habe ich bei Eingabe 5 "1 2 3 4 5" im Array.
- Erstellen eines weiteren Arrays mit nur einem Platz. Der Platz wird mit einer zufälligen ganzzahligen Zahl im Bereich der Eingabe gefüllt. Das klappt auch.
- Die zufällige Zahl zeigt also auf einen platz im ersten Array.
- Ich entnehme diesen Platz aus dem ersten Array und speichere ihn in einem letzten Array dessen Inhalt ich dann ausgebe.
Dadurch sollte nichts doppelt vorkommen können.
Mein Problem ist jetzt die Wiederholung der ganzen Sache in einer Schleife.
Wie baue ich eine Schleife, die immer wieder eine neue Zufallszahl erzeugt, das entsprechende Element rausfischt und in ein neues Array steckt? Und dabei berücksichtigt, dass das Ursprungsarray ja immer kleiner wird.
Das klappt irgendwie so gar nicht und ne richtige Idee hab ich auch nicht =/
Hat evtl. jemand ein kleines Beispiel oder einen Rat?