Autor Beitrag
julian2003
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 11.05.09 15:01 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
var
  Form1: TForm1;
  a:array [1..9of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var bis, i, h:integer;
begin
  randomize;
  bis := High(a);
  for i:=1 to bis do
    a[i]:=random(100)+1;
  repeat
   for i:=0 to bis do
   if a[i] > a[i+1then begin
     h := a[i];
     a[i] := a[i+1];
     a[i + 1] := h
   end;
   Dec(bis)
  until bis = 1;

  for i:=1 to high(a) do
  listbox1.Items.Add(inttostr(a[i]));

end;

in der ausgabe habe ich dann neun zahlen richtig geordnet wobei jedoch die 2. zahl immer -1 ist!

vielen dank, julian

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt und 2. Frage entfernt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 11.05.09 15:21 
Moin und :welcome: im Forum!

user profile iconjulian2003 hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
  a:array [1..9of integer;

[...]
   for i:=0 to bis do
Schau mal genau hin, du deklarierst das Array von 1.. aber läufst in der Schleife mit 0 los. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
julian2003 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 11.05.09 15:53 
var
a:array [1..9] of integer;

[...]
for i:=1 to bis do

habs jetzt so umgeändert, aber ich bekommen noch immer an der 2. stelle in der listbeox jedes mal ein -1 ausgegeben :( ?!
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mo 11.05.09 17:28 
user profile iconjulian2003 hat folgendes geschrieben Zum zitierten Posting springen:
habs jetzt so umgeändert, aber ich bekommen noch immer an der 2. stelle in der listbeox jedes mal ein -1 ausgegeben :( ?!

Auf dem ersten Blick sieht dein Code korrekt aus, auch ein schneller Copy+Paste-Test schließt einen Fehler aus. Jedoch erscheint bei mir bei deinem Code an zweiter Stelle fast immer eine Null.
Der Grund liegt wohl darin, dass du Randomize, das den Pseudo-Zufalls-Generator initialisiert, in der Button-Prozedur aufrufst. Das bringt natürlich wenig. Besser wäre es Randomize ins Form-Create zu verfrachten.
Damit hat sich das Problem bei mir behoben. :zwinker:

Grüße,
Marc