Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi zufall, mit eingeschränkten werten ? (https://www.delphipraxis.net/41127-zufall-mit-eingeschraenkten-werten.html)

fadz 26. Feb 2005 14:34


zufall, mit eingeschränkten werten ?
 
hi,
ich hab folgendes problem,ich woltle ein zufallsscript basteln,
nur ich hab ein problem, als bedingung für dieses script dürfen nur zahlen aus dieser reihe hier gelten:
112
113
114
122
123
124
132
133
134
142
143
144
...
443

wie kann ich soetwas realisieren ?
wäre dankbar für vorschläge :)

ich hätte es z.b. irgendwie so realisiert:
zufallszahl zwishen 112 ... 443
und dann gucken ob sie nach meinen regeln ist,
ansonsten neu machen :)
nur ich weiss nicht ob es nicht einen einfacherere art gibt :)

mirage228 26. Feb 2005 14:36

Re: zufall, mit eingeschränkten werten ?
 
Hi,

machs mal so
Delphi-Quellcode:
Randomize; // nur einmal aufrufen, am besten im FormCreate
Wert := Random(332) + 112;
mfG
mirage228

Stanlay Hanks 26. Feb 2005 14:38

Re: zufall, mit eingeschränkten werten ?
 
Alternativ bietet die Funktion RandomRange aus der Unit Math die selbe Möglichkeit.

Man liest sich, Stanlay :hi:

PS: Die Suche hätte dir geholfen ;)

fadz 26. Feb 2005 14:43

Re: zufall, mit eingeschränkten werten ?
 
kk, atm hab ich es eifnachs o gemacht, lool:
Delphi-Quellcode:
var z,p1,p2:integer;
    p1a,p2a: string;
begin
repeat
z:=random(443);
if z>=111 then begin
p1a:= inttostr(z);
p2a:= inttostr(z);
delete(p1a,2,3);
delete(p2a,1,2);
p1:=strtoint(p1a);
p2:=strtoint(p2a);
end;
until (z>=111) and (pi <> p2);
memo1.Lines.Add(inttostr(z))
funktioniert prima und erfüllt den zweck :)

sniper_w 26. Feb 2005 15:30

Re: zufall, mit eingeschränkten werten ?
 
Zitat:

funktioniert prima und erfüllt den zweck
Dafür aber nicht optimal und damit nicht sinnvoll.
mirage228 hat dir in 2 Zielen alles gesagt.(keine REPEAT/UNTIL Abfrage)

xineohp 26. Feb 2005 15:39

Re: zufall, mit eingeschränkten werten ?
 
moin,

irgenwie hab ich das Gefühl ihr habt den Eingangspost nicht richtig gelesen!!
Zitat:

Wert := Random(332) + 112;
liefert auch z.B 116 was allerdings nicht in der gewünschten Menge liegt!

4toms 26. Feb 2005 15:42

Re: zufall, mit eingeschränkten werten ?
 
Hausaufgabe abgeschrieben / nicht selbst erstellt.

Setzen, schämen, sechs!

jfheins 26. Feb 2005 15:43

Re: zufall, mit eingeschränkten werten ?
 
Wie wäre es mit
Delphi-Quellcode:
zahl := (random (4) * 100 + 100) + (random (4) * 10 + 10) + (random (3) + 2)
Erzeugt
(1-4) > Hundert
(1-4) > zig / zehner
(2-4) > einer

Binärbaum 26. Feb 2005 15:44

Re: zufall, mit eingeschränkten werten ?
 
Nein, dann machs doch allgemein so:
Delphi-Quellcode:
var obereGrenze, untereGrenze, zufall: Integer;
...
Randomize;
zufall:= Random(obereGrenze-untereGrenze+1)+untereGrenze;
MfG
Binärbaum

xineohp 26. Feb 2005 15:44

Re: zufall, mit eingeschränkten werten ?
 
als Lösung des Problems würde ich empfehlen jede Ziffer einzeln zu generieren diese dann zusammen zusetzen:
Delphi-Quellcode:
var a,b,c,x: integer;
begin
  a := random(4)+1;
  b := random(8)+1;
  c := random(3)+2;
  x := 100*a + 10*b + c;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz