![]() |
Übung: Array und Bubble sort
hi,
soll fuer die schule eine uebung machen die einige arrays miteinander vergleicht. in der zweitletzten spalte schreibt er zufallszahlen und in der letzten soll er sie mit bubble sort sortieren aber irgendwie macht ers nicht :-(
Code:
procedure TForm1.Button1Click(Sender: TObject);
var i,k,j,buffer,z,m: integer; zahlen,zahlendown,zufallsort,zufall: Array[1..10] of integer; begin randomize; for i := 1 to 10 do begin zahlen[i] := i; sg.cells[1,i] := inttostr(zahlen[i]); end; for i := 1 to 10 do begin z := zahlen[i] + 1; sg.cells[2,i] := inttostr(z); end; for i := 1 to 10 do begin zahlendown[i] := i; m := zahlen[10] - zahlendown[i]; sg.cells[3,i] := inttostr(m); end; for i := 1 to 10 do begin zufall[i] := random(100)+1; sg.cells[4,i] := inttostr(zufall[i]); end; { B U B B L E S O R T Sortierverfahren beginnt hier} for i:=10 downto 1 do begin for j:= 1 to i do begin if zufall[i]>zufall[j] then k := 0; inc(k); begin buffer:= zufall[i]; zufall[i]:= zufall[j]; zufall[j]:= buffer; sg.cells[5,k] := inttostr(zufall[j]); end; end; end; end; |
Re: Übung: Array und Bubble sort
Auf alle Fälle steht das unterste "begin",
dort irgendwie ein bißchen seltsam! |
Re: Übung: Array und Bubble sort
Bubblesort:
Delphi-Quellcode:
for i:=1 to "Länge deines Arrays -1 " do //vom zweiten Element bis zum Vorletzten
begin for j:= "Länge deines Arrays" downto i do //Vom letzten bis zum i.-Element begin if DeinArray[j] < DeinArray[j-1] then //wenn j.-Element kleiner als j.-1-Element... begin //..tauschen: k := DeinArray[j-1]; //Wert des j.-1-Elements in Hilfsvariable DeinArray[j-1] := DeinArray[j];//j.-1-Element soll j.-Element werden DeinArray[j] := k; //j.-Element-Inhalt soll Hilfsvariable sein end; end; end; |
Re: Übung: Array und Bubble sort
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
Das kommt bei dem code:
procedure TForm1.Button1Click(Sender: TObject);
var i,k,j,buffer,z,m,u: integer; zahlen,zahlendown,zufallsort,zufall: Array[1..10] of integer; begin randomize; for i := 1 to 10 do begin zahlen[i] := i; sg.cells[1,i] := inttostr(zahlen[i]); end; for i := 1 to 10 do begin z := zahlen[i] + 1; sg.cells[2,i] := inttostr(z); end; for i := 1 to 10 do begin zahlendown[i] := i; m := zahlen[10] - zahlendown[i]; sg.cells[3,i] := inttostr(m); end; for i := 1 to 10 do begin zufall[i] := random(100)+1; sg.cells[4,i] := inttostr(zufall[i]); end; { B U B B L E S O R T Sortierverfahren beginnt hier} { for i:=10 downto 1 do begin for j:= 1 to i do begin if zufall[i]>zufall[j] then k := 0; inc(k); begin buffer:= zufall[i]; zufall[i]:= zufall[j]; zufall[j]:= buffer; sg.cells[5,k] := inttostr(zufall[j]); end; end; end; } for i:=1 to 10 -1 do begin for j:= 10 downto i do //Vom letzten bis zum i.-Element begin if zufall[j] < zufall[j-1] then //wenn j.-Element kleiner als j.-1-Element... begin //..tauschen: buffer := zufall[j-1]; //Wert des j.-1-Elements in Hilfsvariable zufall[j-1] := zufall[j];//j.-1-Element soll j.-Element werden zufall[j] := buffer; //j.-Element-Inhalt soll Hilfsvariable sein end; end; |
Re: Übung: Array und Bubble sort
Auf die Fehlermeldung kann ich dir so pauschal nichts sagen, setz mal ein paar
Breakpoints und guck, ob er aus dem Array irgendwo rausrennt, kann aber eigentlich nicht sein. Czapie. |
Re: Übung: Array und Bubble sort
ok habs array jetzt anstatt [1..10] auf [0..10] gesetzt da bleibt die exception aus, aber wie bekomm ich jetzt die ausgabe in sg.cells[5,x]
|
Re: Übung: Array und Bubble sort
hä? hast du doch schon mal gemacht? oder nicht verstanden?
Delphi-Quellcode:
for i := 1 to 10 do
sg.cells[5,i] := inttostr(zufall[i]); |
Re: Übung: Array und Bubble sort
na dann gehst du eben mit einer Schleife nochmal
dein nun geordnetes Array durch und trägst die Werte in die Tabelle ein. :?: :!: p.s.: @ibp, sorry alles klar |
Re: Übung: Array und Bubble sort
Zitat:
|
Re: Übung: Array und Bubble sort
gut alles klar,
ich dachte eben schon meine Optik wollte mir nen Streich spielen. Gute Nacht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz