Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Zufallszahlen aus Variablen (https://www.delphipraxis.net/83955-zufallszahlen-aus-variablen.html)

rambospike 9. Jan 2007 09:40


Zufallszahlen aus Variablen
 
Hallo,

ich habe 8 Variablen, die mit verschiedenen Zahlen gefüllt sind.
ZB: a=2, b=5, c=9, d=6, e=18, f=29, g=31, h=19.

Nun möchte ich, das ein Zufallsgenerator diese 8 Variablen auswertet und 3 Zahlen in 3 neue Variablen schreibt.
Beispielsweise: ab=5, ac=29, ad=19.

Gibt es hier eine Möglichkeit?

Vielen Dank für eure Hilfe

herzliche Grüße von

rambospike

sirius 9. Jan 2007 09:46

Re: Zufallszahlen aus Variablen
 
Was genau du machen willst, habe ich nicht kapiert. Aber wenn du die Variablen als array definierst, bist du bestimmt schon einen riesigen Schritt weiter.

Coder 9. Jan 2007 10:11

Re: Zufallszahlen aus Variablen
 
Delphi-Quellcode:
Var
    Zuf_arr :Array[0..100] of integer;
Function rand();
begin
Zuf_arr[1] := 2;
Zuf_arr[2] := 5;
Zuf_arr[3] := 9;
Zuf_arr[4] := 6;
Zuf_arr[5] := 18;
Zuf_arr[6] := 29;
Zuf_arr[7] := 31;
Zuf_arr[8] := 19;
Zuf_arr[9] := Random(zuf_arr[1]);
Zuf_arr[10] := Random(zuf_arr[2]);
Zuf_arr[11] := Random(zuf_arr[3]);
end;

Namenloser 9. Jan 2007 10:55

Re: Zufallszahlen aus Variablen
 
@coder: ich habe das so verstanden, dass er entweder a ODER b zufällig in ab (usw...) schreiben will.

Also so:

Delphi-Quellcode:
Var Zuf_arr :Array[0..100] of integer;

Function rand;
begin
  Zuf_arr[1] := 2;
  Zuf_arr[2] := 5;
  Zuf_arr[3] := 9;
  Zuf_arr[4] := 6;
  Zuf_arr[5] := 18;
  Zuf_arr[6] := 29;
  Zuf_arr[7] := 31;
  Zuf_arr[8] := 19;
  Zuf_arr[9] := zuf_arr[Random(2) +1];
  Zuf_arr[10] := zuf_arr[Random(2) +3];
  Zuf_arr[11] := zuf_arr[Random(3) +5];
end;

marabu 9. Jan 2007 11:17

Re: Zufallszahlen aus Variablen
 
Hallo,

hier ist noch ein Link zum Thema: klick

Grüße vom marabu

rambospike 9. Jan 2007 11:17

Re: Zufallszahlen aus Variablen
 
Zitat:

Zitat von NamenLozer
@coder: ich habe das so verstanden, dass er entweder a ODER b zufällig in ab (usw...) schreiben will.

Also so:

Delphi-Quellcode:
Var Zuf_arr :Array[0..100] of integer;

Function rand;
begin
  Zuf_arr[1] := 2;
  Zuf_arr[2] := 5;
  Zuf_arr[3] := 9;
  Zuf_arr[4] := 6;
  Zuf_arr[5] := 18;
  Zuf_arr[6] := 29;
  Zuf_arr[7] := 31;
  Zuf_arr[8] := 19;
  Zuf_arr[9] := zuf_arr[Random(2) +1];
  Zuf_arr[10] := zuf_arr[Random(2) +3];
  Zuf_arr[11] := zuf_arr[Random(3) +5];
end;

Hallo,
vielen Dank für deine Hilfe.
Genau so habe ich mir das gedacht. In die variable ab soll entweder a oder b oder c.. usw. geschrieben werden.
In die variable ac genauso, aber keinesfalls die Zahl, welche schon in ab steht. usw.

Was bedeutet in der function oben die +1, +3, +5?

Nochmals danke und herzliche Grüße von

rambospike

marabu 9. Jan 2007 12:01

Re: Zufallszahlen aus Variablen
 
Hallo,

da sind ein paar Ungereimtheiten - auch im Code aus Beitrag #4: Das Array hätte gleich mit dem Index 1 beginnen können. Und für die 3 aus 8 Auswahl werden maximal 24 Kombinationen gebildet. Der achte Wert aus dem Array wird nie benutzt.

Zitat:

Zitat von rambospike
... Was bedeutet in der function oben die +1, +3, +5? ...

Das sind die unteren Intervallgrenzen für die Zufallszahlen. Random(3) + 5 bedeutet, dass einer der drei Indexwerte ab 5 zufällig ausgewählt werden soll: 5, 6, oder 7.

Zitat:

Zitat von rambospike
... aber keinesfalls die Zahl, welche schon in ab steht ...

Dazu passt das sogenannte Urnenprinzip, welches ich in Beitrag #5 verlinkt habe.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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