AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zufallszahlen von 1-26 generieren

Ein Thema von Delphi_gn7 · begonnen am 29. Jul 2009 · letzter Beitrag vom 30. Jul 2009
Antwort Antwort
Seite 2 von 2     12
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#11

Re: Zufallszahlen von 1-26 generieren

  Alt 30. Jul 2009, 09:16
Zu Lottozahlen und Zufallsfolgen gibt es ja bereits reichlich Beiträge hier.
Auch einen relativ universelle Funktion von mir:
http://www.delphipraxis.net/internal...t.php?t=151677
Lottozahlen(1, 26, 26)
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Zufallszahlen von 1-26 generieren

  Alt 30. Jul 2009, 16:38
Ich hab auch noch einen:

Delphi-Quellcode:
function MakeRandomIntArray(start, count: Integer): TIntegerDynArray;
var
   i, rnd, pnt: Integer;
begin
   SetLength(Result, count);
   
   for i = Low(Result) to High(Result) do
      Result[i] = start - 1;
   
   repeat
      rnd = Random(count);
      pnt = -1;
      i = -1;
      while pnt < rnd do
      begin
         Inc(i);
         if Result[i] < start then
            Inc(pnt);
      end;
      Dec(count);
      Result[i] = count + start;
   until count = 1;
   
   for i = Low(Result) to High(Result) do
      if Result[i] < start then
         Result[i] = start;
end;
ist aus nem c# projekt übersetzt und ungetestet, müsste aber seinen zweck tun

MakeRandomIntArray(1,26) sollte deinen Fall abdecken
  Mit Zitat antworten Zitat
Draos

Registriert seit: 12. Aug 2008
42 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Zufallszahlen von 1-26 generieren

  Alt 30. Jul 2009, 17:53
Hab eine von Karten Mischen gemacht. Recht lustig sowas.
Delphi-Quellcode:
var I1,I2 :Byte;
    Merge :Cardinal;
    iWerte :Array of Integer;
begin
 Randomize;
 SetLength(iWerte,26);
 for I1:=0 to High(iWerte) do
  iWerte[I1]:=I1+1;

 while Merge>0 do begin
  I1:=Random(Length(iWerte));
  repeat
   I2:=Random(Length(iWerte));
  until I2<>I1;
  Tmp:=iWerte[I1];
  iWerte[I1]:=iWerte[I2];
  iWerte[I2]:=Tmp;
  Dec(Merge);
 end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.474 Beiträge
 
Delphi 12 Athens
 
#14

Re: Zufallszahlen von 1-26 generieren

  Alt 30. Jul 2009, 20:41
Zitat von Draos:
Hab eine von Karten Mischen gemacht. Recht lustig sowas.
In der Tat recht lustig, wenn das nicht initialisierte Merge zufällig einen recht großen Wert hat...
Uwe Raabe
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:11 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