Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zahlen "verteilen" (https://www.delphipraxis.net/24699-zahlen-verteilen.html)

Spurius 24. Jun 2004 17:36


Zahlen "verteilen"
 
Hallo,
wie kann ich Zahlen von z.b. 1-100 zufällig in 4 verschiedene "Portionen" aufteilen?
Gruß
Spurius

MrKnogge 24. Jun 2004 17:51

Re: Zahlen "verteilen"
 
Möcghtest du 4 Zufallszahlen zwischen 1 und 100, oder 4 Zufallszahlen die zusammen 100 ergeben ?

Spurius 24. Jun 2004 17:56

Re: Zahlen "verteilen"
 
Ich habe die Zahlen von 1-100 und möchte die zufällig aufteilen.

nailor 24. Jun 2004 18:07

Re: Zahlen "verteilen"
 
du könntest eine liste machen, wo du erst alle zahlen reinschreibst und dann immer eine zufällige rausnimmst. das 25 mal. dann hast du eine portion. dann noch zwei mal und die restlichen drei portionen stehen fest.

wäre eine möglichkeit

dizzy 24. Jun 2004 18:09

Re: Zahlen "verteilen"
 
Dann lass dir 3 zufällige Zahlen (hier mal n1 bis n3) zwischen 0 und 100 erzeugen, und dann ist halt:
0 <= n1 < n2 < n3 <= 100

...also die Grenzen der Pakete zufällig erzeugen

nailor 24. Jun 2004 18:25

Re: Zahlen "verteilen"
 
ich glaub so war es nicht gemeint...

dizzy 24. Jun 2004 18:26

Re: Zahlen "verteilen"
 
[OT]...dann müsste "man" sich präziser ausdrücken ;)[/OT]

Spurius 24. Jun 2004 18:35

Re: Zahlen "verteilen"
 
Hallo,
sry wenn ich das Problem etwas "unpräzise" beschrieben hab. Die Lösung von Nailor find ich gut, nur wie kann ich die Zahlen zufällig rausnehmen? Weil die sollen danach ja nicht neu durchnummeriert werden, sondern ihre Werte behalten. Dauert das nicht zu lange? Weil wenn random z.B. die letzte Zahl nicht liefert, dauert das ja ne ganze Weile, bis die erwischt wird.

nailor 24. Jun 2004 20:25

Re: Zahlen "verteilen"
 
sieh dich nach einer einfach oder doppelt verketteten liste um. dann nimm immer ein element per zufälligem index (maximaler index --> anzahl vorhandene elemente) raus, und lass die anderen eins nachrücken (deshalb kein array sondern liste, auch wenn die eventuell langsamer beim durchsuchen ist. aber wenn man die länge speichert und nicht immer neu ermittelt, sollten sich die kompletten durchläufe auf ein minimum beschränken und die ganze sache sehr schnell sein. und bei 100 zahlen macht das eh nichts aus. da müsstest du schon tausende/millionen von zahlen haben, damit das langsam wird.

StefanDP 24. Jun 2004 20:39

Re: Zahlen "verteilen"
 
wieso so kompliziert?!
mach das genau anderst herum :!:

Pseudocode:
Code:
FOR "zahl" = 1 to 100
{
  nimm "zahl" in die Liste mit der Nummer ZUFALL(1..4) auf
}


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Seite 1 von 4  1 23     Letzte »    

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