? beispiel
Announcement
Collapse
No announcement yet.
Zufallszahlen !
Collapse
X
-
hab mich eben rangesetzt und alles etwas verändert.
Code:int TForm1::RandZahl() { if (lauf>=randzahl) return 0; bool check=false; int x; do { check=false; x=random(randzahl); if(lauf){ for (int y=0;y<lauf;y++) if (zufall[y]==x) check=true;} else zufall[0]=x; } while(check); zufall[lauf]=x; return x; }
und bei x=random(randzahl); ist randzahl eine integer variable der du den bereich zuweist aus dem du zahlen ziehen willst. also z.b für 0-99 dann randzahl=100;
bei mir klappts so, aber lass christian noch seinen segen darüber geben ^^
Gruß
Comment
-
mal so probieren
Code:int zufall[20]; int lauf=0; ....... int GetZahl() { bool check; int zahl; do { check=false; zahl=random(50); for(int x=0;x<lauf;x++) { if(zahl==zufall[x]) { check=true; break; } } }while(check); if(!check&&lauf<20) { zufall[lauf]=zahl; lauf++; return zahl; } return-1; }
Christian
Comment
-
Originally posted by Christian Marquardt View Postmal so probieren
Code:int zufall[20]; int lauf=0; ....... int GetZahl() { bool check; int zahl; do { check=false; zahl=random(50); for(int x=0;x<lauf;x++) { if(zahl==zufall[x]) { check=true; break; } } }while(check); if(!check&&lauf<20) { zufall[lauf]=zahl; lauf++; return zahl; } return-1; }
also ist dann zahl die Variable die ich benutzen kann?
bsp.: Wort=mem_woerter->Lines->Strings[zahl]; oder seh ich das falsch ??
also wenn meine Vermutung richtig ist dann muss ich ja nur die Funktion aufrufen un dann mein : Wort=mem_woerter->Lines->Strings[zahl]; hinschreiben oder ?
PS.: Sollen die Variablen ->>>>
int zufall[20];
int lauf=0;
in Private deklariert werden ja oder? so sieht es mal ausZuletzt editiert von Mister Love; 11.04.2007, 01:06.
Comment
-
und was hälst du von meinem code ? nicht zu gebrauchen ?
@Mister Love
cOnstan und ich habe dir FUNKTONEN gegeben. Schau die Posting 4 an. Ob du die Variablen als Klassenvariablen oder globale nimmst hängt davon ab, ob du die Funktion als Klassenfunktion definierstChristian
Comment
-
Comment