AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ordung muss sein

Ein Thema von block35plus1 · begonnen am 2. Okt 2003 · letzter Beitrag vom 2. Mär 2004
 
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#27

Re: Ordung muss sein

  Alt 5. Okt 2003, 17:33
Zitat von negaH:
...Da aber selbst mich die ganzen Diskussionen verwirren, werde ich erstmal meine schlauen Bücher befragen müssen...


Das mit dem mischen der Zahlen ist überflüssig. Das passiert ja durch das random. Und durch den Ring kann es theoretisch auch mit random (10000) passieren. Dann dreht sich die "richtige" Lottokugel eben den ganzen Tag. Das ganze geht dann ähnlich wie bei einem Glücksrad.

Ich glaube aber, daß einige hier nicht wissen, was ein Ring ist. Das ist eine verkettete Liste, bei der zum Schluß das Ende einen Zeiger auf den Anfang hat. Wenn ich nun mit random (100) arbeite kann ich ganz einfach durch
Delphi-Quellcode:
r := random (100);
for i := 1 to r do begin
  vorgaenger := ring;
  ring := ring^.naechst;
end;
die Position in dem Ring um r Positionen verschieben. Angenommen ich stehe am Anfang auf der 1, dann würde, falls r 48 ergibt die Zahl 49 gezogen. Diese müßte mit dispose oder zumindest umhängen der Zeiger, (wofür man noch ein paar Hilfsvariable bräuchte) aus dem Ring rausgenommen werden. Dieser hätte dann noch 48 Elemente. usw.

Die Datenstruktur wäre ziemlich simpel:

Delphi-Quellcode:
type RingTyp = ^RingZeigerTyp;

      RingZeigerTyp = RECORD
                         wert : byte;
                         naechst : RingTyp;
                       END;
var RingVar,
    Vorgaenger : RingTyp;
    GezogeneKugel : byte;
Bei einer gezogenen Kugel müßte man nur folgendes machen:

Delphi-Quellcode:
GezogeneKugel := RingVar^.wert;
Vorgaenger^.naechst := RingVar.naechst^; // gezogene Kugel aus Ring nehmen
Vorgaenger := RingVar;
RingVar := RingVar^.naechst;
Vorgaenger als Hilfsvariable müßte halt immer mitgeschleppt werden. Hmmm, kann das da so stimmen ?
Gruß
Hansa
  Mit Zitat antworten Zitat
 


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 05:18 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