![]() |
RandomRange Problem
Hi Leuts!
Also ich hab folgendes Probelm. Ich habe möchte RandomRange Zahlen aus dem Bereich 100-200 generieren. Zufällig und ohne Wiederhohlung. Mein Code funktioniert an und für sich. Sprich Zahlen werden generiert und mir auch ausgespuckt. Nur werden auch immer wieder mal Zahlen unter 100 generiert, zB 67. oder ne 0. und wiederhohlen tun sie sich leider auch öfters mal. ich mal meinen code. Die zahlen werden in ein Array geschrieben. wobei sich das array mit verschiedenen "Zahlenabschnitten" füllen muss. Ausgegeben wird das ganze mit canvas.textout und weiter unten im code steht (was keine Probleme macht!). außerdem werden immer die !selben! Zufallszahlen erzeugt! Was ja wohl nicht sinn der Sache ist.
Delphi-Quellcode:
Danke im vorraus für eure Zeit!
procedure TForm1.LOSClick(Sender: TObject);
var i, j, h : integer; begin i:=0; for j := 1 to 15 do begin Fragenliste[i] := random(RandomRange (101, 200)); i:= i+1; end; for j := 16 to 25 do begin Fragenliste[i]:= random(RandomRange (201, 300)); i:=i+1; end; for j := 26 to 40 do begin Fragenliste[i] := random (RandomRange (301, 400)); i:=i+1; end; |
AW: RandomRange Problem
Schau dir am besten mal die Hilfe zu Random an dann sollte dir auch klar werden warum du so kleine Zahlen bekommst.
Zitat:
Das Zahlen doppelt vorkommen liegt daran das du nicht überprüfst ob die erzeugte Zahl bereits in deinem Array ist. Zitat:
Delphi-Quellcode:
Ergebnis := RandomRange(100,201);
|
AW: RandomRange Problem
Delphi-Quellcode:
Das ist doch Doppelt-Gemoppelt.
Fragenliste[i] := random(RandomRange (101, 200));
//................^^^^^^......................... Also lass mal das random weg. Ein typischer Tomaten-Auf-Den-Augen-Effekt, den wir Programmierer immer wieder haben. |
AW: RandomRange Problem
Hi, erstmal danke für die schnelle antwort!
das problem mit den zu kleinen zahlen hab ich verbessert, war ein doofer fehler meinerseits. dass allerdings jedesmal wennich das programm neu starte beim ersten klick auf den button die selben zahlen erscheinen wie beim ersten klick eines vorherigen programmstarts ist mir schleierhaft. zumal wenn man ein zweites mal klickt zwar andere zahlen erzeugt werden. diese allerdings wieder gleich beim zweiten klick im verhorigen start... |
AW: RandomRange Problem
Zitat:
|
AW: RandomRange Problem
öhm nein, daran hab ich nich gedacht. danke. jetzt is alles so wie es sein soll.
die sache mit dem doppelten werd ich schon irgendwie deichseln. danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz