Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wertebereich von -X bis +X erstellen ? (https://www.delphipraxis.net/122559-wertebereich-von-x-bis-x-erstellen.html)

turboPASCAL 18. Okt 2008 08:42


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:
X := (100 + random(100)) - (100 + random(100) );
Aber nichts im Bereich von -50 bis +50.


Ich komm gerade nicht darauf... :gruebel:

RWarnecke 18. Okt 2008 08:53

Re: Wertebereich von -X bis +X erstellen ?
 
ich würde das ganze so machen :
Delphi-Quellcode:
niedrigsterWert := random(50);
hoechsterWert := random(50);
niedrigsterWert := (niedrigsterWert * 2) - niedrigsterWert
Oder müssen es immer Paare sein z.B. -45 und +45 ?

turboPASCAL 18. Okt 2008 09:19

Re: Wertebereich von -X bis +X erstellen ?
 
Ja.

Nach deiner Lösung hätte ich mehr -X als +X.

Helmi 18. Okt 2008 09:38

Re: Wertebereich von -X bis +X erstellen ?
 
Zitat:

Zitat von RWarnecke
Delphi-Quellcode:
niedrigsterWert := (niedrigsterWert * 2) - niedrigsterWert

Dann kannst gleich das schreiben:
Delphi-Quellcode:
niedrigsterWert := niedrigsterWert;
Denn (umgeschrieben)
Delphi-Quellcode:
niedrigsterWert := (niedrigsterWert + niedrigsterWert) - niedrigsterWert
ist identlisch mit:
Delphi-Quellcode:
niedrigsterWert := niedrigsterWert
Oder diese Zeile einfach weglassen :-)

Fussball-Robby 18. Okt 2008 09:46

Re: Wertebereich von -X bis +X erstellen ?
 
Delphi-Quellcode:
X := Random(101) - 50;
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?

DeddyH 18. Okt 2008 09:47

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;

turboPASCAL 18. Okt 2008 10:56

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)

Fussball-Robby 18. Okt 2008 11:06

Re: Wertebereich von -X bis +X erstellen ?
 
Kleiner Tipp: Dir Funktion RandomRange() aus der Unit Math, bevor hier noch weiter rumgebastelt wird :mrgreen:

jfheins 18. Okt 2008 11:07

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.

turboPASCAL 18. Okt 2008 15:41

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.
Seite 1 von 3  1 23      

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