Autor Beitrag
CyberStorm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33

WIN 98, WIN XP
D4 Prof, D6 Pers
BeitragVerfasst: Sa 19.10.02 20:37 
Hi,

Ich habe ein array Gefüllt mit Zahlen. Jede Zahl kommt dort einmal vor.

Wie kann Ich die Zahlen mischen?

mfg
Cyber
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 19.10.02 20:54 
Hi!

Du schreibst in ein Array alle verfügbaren Postitionen, wählst mit dem Zufallsgenerator aus diesem Array eine Position aus, weist sie der ersten Zahl aus deinem Zahlenarray zu. Schmeist aus dem Positionarray die verwendete Position raus. Wählst per Zufallsgenerator aus dem (verkleinerten) Positionarray eine Position aus, weist sie der zweiten Zahl zu usw.

MfG,
Peter

P.s:Oder meinst du sowas?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 19.10.02 20:58 
Hier haste mal einen Ansatz, wie man sowas realisieren könnte. (Habe auf dem Rechner kein Delphi installiert -> nicht getestet).

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
var
  aZahlen: array [0..9] of Byte = (1,2,3,4,5,6,7,8,9,10);

implementation

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  tmp,j: Byte;
begin
  Randomize;
  for i := 0 to 9 do
  begin
    j :=Random(9);
    tmp := aZahlen[i];
    aZahlen[i] := aZahlen[j];
    aZahlen[j] := tmp;
  end;
end;


Es wäre vielleicht noch sinnvoll eine Abfrage einzubauen, die überprüft, ob die per Zufallsgenerator generierte Zahl schon verwendet wurde.

Hoffe, es hilft dir. :)

_________________
Viele Grüße
Jakob