AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wertebereich von -X bis +X erstellen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Wertebereich von -X bis +X erstellen ?

Ein Thema von turboPASCAL · begonnen am 18. Okt 2008 · letzter Beitrag vom 3. Nov 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 09:42
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:


X := (100 + random(100)) - (100 + random(100) ); Aber nichts im Bereich von -50 bis +50.


Ich komm gerade nicht darauf...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 09:53
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 ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 10:19
Ja.

Nach deiner Lösung hätte ich mehr -X als +X.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 10:38
Zitat von RWarnecke:
niedrigsterWert := (niedrigsterWert * 2) - niedrigsterWert
Dann kannst gleich das schreiben:
niedrigsterWert := niedrigsterWert; Denn (umgeschrieben)
niedrigsterWert := (niedrigsterWert + niedrigsterWert) - niedrigsterWert ist identlisch mit:
niedrigsterWert := niedrigsterWert Oder diese Zeile einfach weglassen
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 10:46
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?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 10:47
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 11:56
In Etwa.
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)
Angehängte Dateien
Dateityp: exe test_187.exe (64,0 KB, 40x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 12:06
Kleiner Tipp: Dir Funktion RandomRange() aus der Unit Math, bevor hier noch weiter rumgebastelt wird
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 12:07
Und wie kommst du von der Randow-Fuznktion zu den Punkten?

Weil ich glaube schon, dass die Randowm-Funktion richtig arbeitet

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.
Angehängte Dateien
Dateityp: exe test_1_953.exe (11,5 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Wertebereich von -X bis +X erstellen ?

  Alt 18. Okt 2008, 16:41
Die Funktion RandomRange() aus der Math-Unit habe ich nicht da ich die Unit Math.pas nicht in meinem Programm habe.
Diese importiere ich auch nicht da sie mir Units imliziert importiert die ich nicht imliziert importiert haben will.



Was zum ... ist ein "randowm" ? Was zu essen ?




Lösungsvorschlage ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr.
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