| Autor |
Beitrag |
theSonGoku
      
Beiträge: 29
|
Verfasst: Sa 03.10.09 17:24
Hallo,
unzwar möchte ich, in einem Array, Zufallszahlen zwischen 0 und 10 generieren.
Z.B:
Quelltext 1: 2: 3:
| 1,00121 0,24121 8,21480 |
Also eben Nachkommerzahlen zwischen 0 und 10.
Ich bekomme auch Zufallszahlen. Aber keine Nachkommazahlen. Wie mache ich das? Mein Code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.btn_generierenClick(Sender: TObject); var werte: array[0..4, 0..1] of extended; i, k: integer; begin randomize; for i := 0 to 4 do begin werte[i,0] := randomrange(0, 10); end;
for k := 0 to 4 do begin werte[k,1] := randomrange(0, 30); end;
lbl_1.Caption := FloatToStr(werte[0,0]) + ' * ' + FloatToStr(werte[0,1]); lbl_2.Caption := FloatToStr(werte[1,0]) + ' * ' + FloatToStr(werte[1,1]); lbl_3.Caption := FloatToStr(werte[2,0]) + ' * ' + FloatToStr(werte[2,1]); lbl_4.Caption := FloatToStr(werte[3,0]) + ' * ' + FloatToStr(werte[3,1]); lbl_5.Caption := FloatToStr(werte[4,0]) + ' * ' + FloatToStr(werte[4,1]); end; |
mfG
theSonGoku
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Sa 03.10.09 17:59
Random ohne Parameter liefert Kommazahlen zwischen 0 und 1, das mit 10 multipliziert ist das was du willst.
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Sa 03.10.09 18:02
Delphi-Quelltext 1:
| zahl:= random(99999)/10000; |
Moderiert von Narses: Delphi-Tags hinzugefügt
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
theSonGoku 
      
Beiträge: 29
|
Verfasst: Sa 03.10.09 20:51
platzwart hat folgendes geschrieben : | | zahl:= random(99999)/10000; |
Danke für die Antwort.
Funktioniert prima.
Kannst du mir allerdings erklären, wieso du 99999 und 10000 geschrieben hast?
Was haben die Zahlen zu bedeuten?
mfG
theSonGoku
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: Sa 03.10.09 21:31
random(99999) erzeugt eine ganzzahlige Zufallszahl zwischen 0 und 99999. Weil der Wert nun aber kleiner 10 und größer gleich Null sein soll, wird der Wert durch 10000 geteilt 
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 03.10.09 22:53
platzwart hat folgendes geschrieben : | | random(99999) erzeugt eine ganzzahlige Zufallszahl zwischen 0 und 99999. |
Nope, zwischen 0 und 99998 - ein großer Unterschied  .
platzwart hat folgendes geschrieben : | | Weil der Wert nun aber kleiner 10 und größer gleich Null sein soll[...] |
Weshalb die untere Schranke ein-, aber die obere einschließen  ?
Anstatt deinen Code zu korrigieren, wäre es mir allerdings lieber, wenn wir uns darauf einigen könnten, dass jakobwenzels Vorschlag eindeutig der bessere ist  .
_________________ >λ=
|
|
platzwart
      
Beiträge: 1054
Erhaltene Danke: 78
Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
|
Verfasst: So 04.10.09 11:53
Nein, der funktioniert so nicht. Der liefert nämlich keine Zahl mit 5 Nachkommastellen  Aber dessen Ansatz ein wenig überarbeitet wäre sicherlich die beste Lösung 
_________________ Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 04.10.09 23:41
Von 5 Nachkommastellen hattest du oben nichts geschrieben ... Von daher ist Jakobs Vorschlag durchaus valide 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|