![]() |
Wertebereich von -X bis +X erstellen ?
Hi,
Ich ein kleines Problem. Ich möchte gern einen Wertebereich so einfach wie möglich erstellen der von Minimum -X bis maximum +X reicht. Das ist ja weiter nicht so schlimm:
Delphi-Quellcode:
Aber nichts im Bereich von -50 bis +50.
X := (100 + random(100)) - (100 + random(100) );
Ich komm gerade nicht darauf... :gruebel: |
Re: Wertebereich von -X bis +X erstellen ?
ich würde das ganze so machen :
Delphi-Quellcode:
Oder müssen es immer Paare sein z.B. -45 und +45 ?
niedrigsterWert := random(50);
hoechsterWert := random(50); niedrigsterWert := (niedrigsterWert * 2) - niedrigsterWert |
Re: Wertebereich von -X bis +X erstellen ?
Ja.
Nach deiner Lösung hätte ich mehr -X als +X. |
Re: Wertebereich von -X bis +X erstellen ?
Zitat:
Delphi-Quellcode:
Denn (umgeschrieben)
niedrigsterWert := niedrigsterWert;
Delphi-Quellcode:
ist identlisch mit:
niedrigsterWert := (niedrigsterWert + niedrigsterWert) - niedrigsterWert
Delphi-Quellcode:
Oder diese Zeile einfach weglassen :-)
niedrigsterWert := niedrigsterWert
|
Re: Wertebereich von -X bis +X erstellen ?
Delphi-Quellcode:
Random(101) = 0..100, dann 50 abziehen -> -50..50. Ich hoffe ich hab das so richtig verstanden, dass du eine zufällige Zahl zwischen -50 und 50 haben wolltest?
X := Random(101) - 50;
|
Re: Wertebereich von -X bis +X erstellen ?
Meinst Du sowas?
Delphi-Quellcode:
function MyRandom(iRange: Integer): Integer;
const iSigns: array[0..1] of Integer = (1,-1); begin Result := Random(Succ(iRange)) * iSigns[Random(2)]; end; |
Re: Wertebereich von -X bis +X erstellen ?
Liste der Anhänge anzeigen (Anzahl: 1)
In Etwa. :stupid:
Nur bekomme ich dann eine lustige Gruppenbildung (siehe Anhang).
Delphi-Quellcode:
function MyRandom(minRange, maxRange: Integer): Integer;
const iSigns: array[0..1] of Integer = (1, -1); begin Result := (minRange + Random(maxRange + 1)) * iSigns[Random(2)]; end; // Edit: Ich möchte. um es mal bildlich darzustellen eine hole Kugel deren Mantel aus Punkten besteht. (eine Kugel oder ein Quader ist dabei egal) |
Re: Wertebereich von -X bis +X erstellen ?
Kleiner Tipp: Dir Funktion RandomRange() aus der Unit Math, bevor hier noch weiter rumgebastelt wird :mrgreen:
|
Re: Wertebereich von -X bis +X erstellen ?
Liste der Anhänge anzeigen (Anzahl: 1)
Und wie kommst du von der Randow-Fuznktion zu den Punkten?
Weil ich glaube schon, dass die Randowm-Funktion richtig arbeitet :stupid: Ediit: nehme es zurück: Sie arbeitet falsch. Wie man am Demo-Prog erkennen kann, wird die 0 überbewertet. Da es +0 und -0 gibt ;) ==> nur einmal randowm verwenden und auf den passendden Bereich mappen. |
Re: Wertebereich von -X bis +X erstellen ?
Die Funktion RandomRange() aus der Math-Unit habe ich nicht da ich die Unit Math.pas nicht in meinem Programm habe. :stupid:
Diese importiere ich auch nicht da sie mir Units imliziert importiert die ich nicht imliziert importiert haben will. :gruebel: Was zum ... ist ein "randowm" ? Was zu essen ? :mrgreen: Lösungsvorschlage ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 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