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-ID: 45244

Url: https://administrator.de/forum/zufalls-zahlen-nur-einmal-45244.html

Ausgedruckt am: 20.04.2025 um 16:04 Uhr

AndreasHoster
AndreasHoster 24.11.2006 um 11:14:59 Uhr
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.
Dipps
Dipps 24.11.2006 um 11:17:26 Uhr
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
AndreasHoster
AndreasHoster 24.11.2006 um 12:22:21 Uhr
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