dipps
Goto Top

Zufalls zahlen nur einmal

Zufalls zahlen nur einmal

Hallo ich habe folgendes Problem ich habe ein array mit 10 werten

Betr= new Array(10)
Betr[1]="1";
Betr[2]="5";
Betr[3]="10";
Betr[4]="15";
Betr[5]="30";
Betr[6]="50";
Betr[7]="60";
Betr[8]="75";
Betr[9]="80";
Betr[10]="100";

dann will ich mit dem k arbeiten:

K = new Array(10);


K[1]=Betr[weBi(1)];
K[2]=Betr[weBi(2)];
K[3]=Betr[weBi(3)];
K[4]=Betr[weBi(4)];
K[5]=Betr[weBi(5)];
K[6]=Betr[weBi(6)];
K[7]=Betr[weBi(7)];
K[8]=Betr[weBi(8)];
K[9]=Betr[weBi(9)];
K[10]=Betr[weBi(10)];

erg= new Array(10);

function weBi(nr)
{
zuf =Math.floor(Math.random()*10)+1;
erg[nr]=zuf;

return zuf;

}

wie kann ich in der function weBi sagen das er jeden wert nur einmal benutzen darf und wenn der wert schon belegt ist einen neuen herausgibt?

danke schon mal

Content-Key: 45244

Url: https://administrator.de/contentid/45244

Printed on: April 23, 2024 at 07:04 o'clock

Member: AndreasHoster
AndreasHoster Nov 24, 2006 at 10:14:59 (UTC)
Goto Top
Indem Du in der Funktion webi eine Liste mit allen bisher erzeugten Zahlen führst und die Zahl damit vergleichst und im Notfall eine neue erzeugst.

ABER:
Zufallszahlen sind das dann nicht mehr unbedingt.
Member: Dipps
Dipps Nov 24, 2006 at 10:17:26 (UTC)
Goto Top
ja und wie mache ich das mit der liste? das weiss ich ja schon aber habe keine ahnung wie ich das machen kann
Member: AndreasHoster
AndreasHoster Nov 24, 2006 at 11:22:21 (UTC)
Goto Top
Ich programmiere kein JavaScript, aber von der Idee her stehen die Werte ja im Array K drin.
Mal in normaler Sprache:
status = False
Schleife von 1 bis 10
Wenn K[Schleifenwert] = zuf Dann status = true
Ende der Schleife
Wenn status = false dann return zuf ansonsten webi(nr) erneut aufrufen

Das in JavaScript Code umzusetzen sollte, wenn man JavaScript programmieren will, machbar sein face-wink