Random zwischen 1 und 100 nicht zwischen 0 und 100
-
Hallo und fröhliche weinachten an alle,
Wie der Titel ja schon sagt möchte ich eine zufallszahl haben zwischen 1 und 100 nicht zwischen 0 und 100
int r=100; int ra= random (r); Edit1->Text=ra;
Wie schon gesagt dieser code kann nur zahlen zwischen 0 und hundert generieren ich will aber das er 1 oder 100 generiert.
thx jetzt schonmal :D.
-
Kenn mich zwar nicht mit VCL aber allgemein mit Programmierung. Und mann kann jede Zufallszahl in einen bestimmten bereich transformieren
Zufallszahl*(Ende-Start)+Ende
-
Davon bin ich mir ja sicher das es das gibt und ich habe hier nachgefragt wie man das realisiert.
aber trotzdem thx für antowrt
-
aber trotzdem thx für antowrt
Wieso trotzdem. Habe ich dich kritisiert??
-
Zufallszahl*(Ende-Start)+Ende
Das stimmt doch gar nicht. HappyChristmas hast du es getestet?
-
int r=99; int ra= random (r)+1;
-
Seit ihr jetzt doof
Zufallszahl nehmen wir mal an 50.
Diese nun mal 99 + 1. Sind bei mir 4951.
-
Hallo
Siehe auch den Artikel über die Zufallsfunktion in unserem Forumsmagazin.
Und bitte keine weiteren persönlichen Angriffe.
bis bald
akari
-
Habe noch was vergessen bin von einer Zahl zwischen 0 und 1 ausgegangen. Mann muss natürlich noch die Zufallszahl / größt mögliche Zahl teilen.
Also in deinem Fall:
Zufallszahl/100*(Ende-Start)+Ende
Aber mit der Methode von holofolo kann es vieleicht auch gehen aber wie gesagt kein Plan von VCL.
-
holofolo. Danke so klappts
und an y-vonne
nein sry wenn es sich böse angehört hat. war nicht so gemeintan atom wieso.... holofolo hat recht ich habs nun so gemacht
int r = 99; int ra = random (r) +1; Edit1->Text=ra;
Danke an alle und ein schönes weinachtsfest.
Ps. Kann geclosed werden
-
Hallo
@y-vonne :
Nein deine Formel hilft nicht weiter, sondern verwirrt nur. Bitte lest lieber den von mir verlinkten Artikel, dort steht alles nötige.bis bald
akari
-
Nein deine Formel hilft nicht weiter
Hilft nicht weiter weil zu kompliziert oder hilft nicht weiter weil falsch?
-
Die VCL-Funktion RandomRange(const int AFrom, const int ATo) macht das was du suchst. Einfach die unit Math includieren.
MfG
-
Hallo
In meinen Augen ergibt deine Formel nicht die gewünschten Zahlen. Mir ist nichtmal klar, welchen Wertebereich die anfängliche Zufallszahl haben soll, damit die Rechnung klappen soll.
bis bald
akari
-
o.k. akari pass auf. ich erklärst dir.
BCB hat den befehl random () inne.
Dieser Befehl erstellt zufalsszahlen in eine variable.
Wenn die variable leer ist erstellt er eine zahl zwischen 0 und 50.
Wenn aber die variable sagen wir 500 enthält und man dann ein random befehl setzt erstellt er eine zahl zwischen 0 und 500. Nun wollte ich ja eine zahl zwischen 1 und 100 nicht zwischen 0 und 100. So nun hat holofolo eine weise gepostet die funktioniert den er hat geschrieben Das ein wert zwischen 0 und 99 erstellt wird und dieser mit 1 addiert wird somit habe ich den wertebereich 1 bis 100 den wenn es per zufall null wird wird 0 nochmal mit 1 addiert und das ergebniss ist somit 1 oder wenn es per zufall 99 wird, wird diese zahl nochmal mit 1 addiert und es kommt 100 raus.hoffe habe geholfen
nochmals fröhliche weinachten :xmas1: