AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zufalsgenerator - Zahlen auslassen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Zufalsgenerator - Zahlen auslassen ?

Ein Thema von Cyberbob_at_tot · begonnen am 20. Okt 2004 · letzter Beitrag vom 25. Okt 2004
Antwort Antwort
Seite 3 von 3     123   
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Zufalsgenerator - Zahlen auslassen ?

  Alt 20. Okt 2004, 12:20
OK Super es läuft schonmal.
Beim Durchgehen lässt er den letzten aber immer aus! im Array bleibt 0 stehen. es kommen nur 9 von 10 Messages mit den Zahlen!
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#22

Re: Zufalsgenerator - Zahlen auslassen ?

  Alt 20. Okt 2004, 12:24
Dann liegt es an dir, der Code funktioniert bei mir perfekt, nirgends steht mehr 0 drin.
  Mit Zitat antworten Zitat
Cyberbob_at_tot

Registriert seit: 30. Apr 2003
Ort: Ahlen
270 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Zufalsgenerator - Zahlen auslassen ?

  Alt 20. Okt 2004, 12:27
Jo war auch mein Fehler,
musste ID.length noch +1 nehmen damit der letzte durchgang mitkommt!


BESTEN DANK ERSTMAL FÜR DIE HILFE
-----------------------------------------------------------
The only winning move is not to play ! (Wargames)
-----------------------------------------------------------
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#24

Re: Zufalsgenerator - Zahlen auslassen ?

  Alt 20. Okt 2004, 12:29
Jaja, ziehe zufällig Zahlen aus 1 bis 10 ohne zurücklegen, das Thema hatten wir schon merhmals, es nennt sich Lotto-Ziehungen.

http://www.delphipraxis.net/internal...ct.php?t=10946

Delphi-Quellcode:
type
  TZahlen = array of Integer;

procedure Lotto(var Sortiert,Gezogene: TZahlen; Ziehungen: Integer = 6; Elemente: Integer = 49);
var
  I,J,K,N: Integer;
begin
  Sortiert := nil; // stellt sicher das Sortiert <> Gezogene ist
  Gezogene := nil;

  if Ziehungen > Elemente then
    raise Exception.Create('Man kann nicht mehr Kugeln ziehen als in der Urne sind');

  SetLength(Sortiert, Ziehungen);
  SetLength(Gezogene, Ziehungen);

  for I := 0 to Ziehungen -1 do
  begin
    K := 0;
    N := Random(Elemente - I) + 1;
    for J := 0 to I -1 do
      if N >= Sortiert[J] then
      begin
        Inc(N);
        Inc(K);
      end else Break;
    for J := I downto K +1 do
      Sortiert[J] := Sortiert[J -1];
    Sortiert[K] := N;
    Gezogene[I] := N;
  end;
end;

procedure Test;

  procedure Print(const Title: String; const Zahlen: TZahlen);
  var
    I: Integer;
  begin
    Write(Title);
    for I := 0 to High(Zahlen) do Write(Zahlen[I]:4);
    WriteLn;
  end;

var
  Sortiert,Gezogene: TZahlen;
begin
  Lotto(Sortiert, Gezogene, 10, 10);

  Print('gezogene : ', Gezogene);
  Print('sortiert : ', Sortiert);
  WriteLn;
end;
Gruß hagen
  Mit Zitat antworten Zitat
mung

Registriert seit: 20. Mai 2004
8 Beiträge
 
#25

Re: Zufalsgenerator - Zahlen auslassen ?

  Alt 25. Okt 2004, 14:10
Delphi-Quellcode:
function ZufallIA(loinp,hiinp,laenge:integer):AoInt;

{type AoInt=array of integer;}//Wenn nötig deklarieren!

var pos,laenge,i:integer;
    puffer:AoInt;

 procedure ZufalloD(var a:AoInt;lo,hi:integer);
  var z,b:integer;
  begin
   b := hi-lo;
   z:=Random(b)+lo;
   a[pos] :=z;
   inc(pos);

   if(lo<z)and(pos<=laenge) then
     ZufalloD(a,lo,z-1);

   if(hi>z)and(pos<=laenge) then
     ZufalloD(a,z+1,hi);

  end;

begin
 randomize;
 setlength(puffer,laenge);
 pos:=low(puffer);
 ZufalloD(puffer,loinp,hiinp);
end;
Müsstest du so aufrufen: zielarray:= ZufallIA(1,10,10);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 00:29 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