![]() |
Re: zufall, mit eingeschränkten werten ?
Zitat:
|
Re: zufall, mit eingeschränkten werten ?
Zitat:
Da in der Datenreihe einige Werte nicht auftauchen, muss dies berücksichtigt werden. Es ist aber nicht gerade effektiv, in einer repeat...until Schleife sooft eine Zufahlszahl zu erzeugen, bis sie in die Datenreihe passt. Ich würde alle Werte in eine StringList legen, und mittels
Delphi-Quellcode:
dann einfach eine Zeile rauspiksen. Geht natürlich nur, solange alles noch in den Speicher passt.
random(stringlist.count)
|
Re: zufall, mit eingeschränkten werten ?
@Binärbaum:
und was bitte würdest du dan konkret als obere bzw. untere Grenze verwenden?! es wird eine Ergebnismenge verlangt die die Zahlen 112..114, 122..124, 132..134, usw. beinhaltet! Das wirst du mit deinem Beispiel alleine nie erreichen! Natürlich kannst du dir eine Art RandomRange-Funktion schreiben und dann meine ersten drei Zeilen durch einen Funktionsaufruf ersetzen, da ist hier aber eindeutig ein Overkill!! OT: Ich frag mich warum die Leute immer so vorschnell antworten müssen und dann auch noch zum Teil wirklich unfreundlich, ohne dass die eigntliche Frage verstanden bzw. richtig gelesen wurde. Dieser Thread ist ein gutes Beispiel dafür: von 12 Antworten sind mindestens 5 (durch mangelndes Lese-Verständnis?) völlig am Ziel vorbei, drunter ist einer der absolut prolemisch und ohne irgendeinen Bezug zum Thema formuliert ist. Die Hälfte der übrigen Thread beschäftigt sich (zwangsläufig) mit der Korrektur der das Thema verfehlenden Beiträge und die zwei korrekten Lösungsvorschläge gehen völlig unter! |
Re: zufall, mit eingeschränkten werten ?
warum benutzt du nicht:
Delphi-Quellcode:
siehe OH für details...
function RandomRange(const AFrom, ATo: Integer): Integer;
gruessle |
Re: zufall, mit eingeschränkten werten ?
Hi,
mal davon ausgehend, dass die "Hunderter" zwischen 1 und 4 liegen dürfen, die "Zehner" ebenfalls von 1 bis 4 gehen und die "Einer" nur die Werte 2, 3 und 4 annehmen dürfen:
Delphi-Quellcode:
Falls die Grenzen nicht sitmmen, kannst Du sie ja anpassen :)
function zufall : integer;
begin result := RandomRange(1,4)*100+ // 1 bis 4 RandomRange(1,4)* 10+ // 1 bis 4 RandomRange(2,4); // 2 bis 4 end; Ist im Endhinein zwar fast das Gleiche wie schon erwähnt, aber die Antwort ist wohl vermutlich -wie bereits erwähnt- im ganzen Tumult untergegangen.. :roll: Gruß Stephan :dance: //edit: Tippfehler |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 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