AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi zufällig erstellte Zahlen (gleiche Zahlen verbieten)
Thema durchsuchen
Ansicht
Themen-Optionen

zufällig erstellte Zahlen (gleiche Zahlen verbieten)

Ein Thema von Trouble_Maker · begonnen am 5. Mär 2004 · letzter Beitrag vom 9. Mär 2004
Antwort Antwort
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#1

zufällig erstellte Zahlen (gleiche Zahlen verbieten)

  Alt 5. Mär 2004, 21:27
Hiho
hab da mal ne kleine Frage! Hier ist mein Code um zufällig Zahlen von 1 zu Maxelements (in meinem Fall 300) zu erstellen. Funktioniert ohne Probleme.

Delphi-Quellcode:
begin
    memo1.clear;
    image1.canvas.brush.color := clblack;
    image1.canvas.Rectangle(0,0,image1.width,image1.height);
    for i:= 1 to maxelements do begin
    p[i] := random(maxelements);
    image1.canvas.Pixels[i,p[i]] := clyellow;
end;
Doch wie muss ich den Code umschreiben, dass keine Zahl doppelt vorkommen darf, was ja hier der Fall ist!

Danke im Voraus


Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: zufällig erstellte Zahlen (gleiche Zahlen verbieten)

  Alt 5. Mär 2004, 21:46
folgender Source sorgt dafür das jede zahl nur einmal vorkommt, auf deinen source anpassen musst du selbst
Delphi-Quellcode:
var p: Array of Integer;
    i, a, maxelements, newzahl: Integer;
    schondrin: Boolean;
begin
    maxelements := 10;
    setlength(p, maxelements);

    for i:= 0 to maxelements - 1 do
    begin
      repeat
        schondrin := False;
        newzahl := random(maxelements);
        a := 0;
        while (a < i) and not(schondrin) do
        begin
          if p[a] = newzahl then schondrin := True;
          a := a + 1;
        end;
        until schondrin = false;
        p[i] := newzahl;
        memo1.Lines.Add(inttostr(p[i]));
    end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#3

Re: zufällig erstellte Zahlen (gleiche Zahlen verbieten)

  Alt 9. Mär 2004, 15:05
hey...

vielen Dank! Funktioniert super!


cu Trouble_Maker
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:49 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