Br0t
Lieutenant
- Registriert
- Sep. 2006
- Beiträge
- 799
Hey Leute,
Ich hätte da mal eine Frage. Ich habe versucht ein Programm zu schreiben, bei dem mit einem Button ein Array mit zufälligen Zahlen belegt wird. Diese werden dann in eine Memobox eingetragen. Soweit alles gut.
Jetzt möchte ich aber, dass ein 2. Button mithilfe von Bubblesort das Array sortiert und anschließend wieder in die Memo überträgt.
Eigentlich habe ich dabei doch keinen Fehler gemacht oder? Ich sehe zumindest keinen... Auf jeden Fall spuckt er mir das Array immer wieder unverändert aus, wie er es vorher generiert hat...
Ich wäre sehr dankbar, wenn ihr mal drüberschauen könntet
. Wahrscheinlich ist es ein offensichtlicher Fehler, aber es ist auch das erste Mal, dass ich was mit Bubblesort programmiere, also evtl ein Systematikfehler...
MfG Br0t

Ich hätte da mal eine Frage. Ich habe versucht ein Programm zu schreiben, bei dem mit einem Button ein Array mit zufälligen Zahlen belegt wird. Diese werden dann in eine Memobox eingetragen. Soweit alles gut.
Jetzt möchte ich aber, dass ein 2. Button mithilfe von Bubblesort das Array sortiert und anschließend wieder in die Memo überträgt.
Eigentlich habe ich dabei doch keinen Fehler gemacht oder? Ich sehe zumindest keinen... Auf jeden Fall spuckt er mir das Array immer wieder unverändert aus, wie er es vorher generiert hat...
Code:
unit UgenerateSort;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
bZahlen: TButton;
bSort: TButton;
mStrings: TMemo;
procedure bZahlenClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure bSortClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Tausche(a,b: Integer);
end;
var
Form1: TForm1;
a : array[0..12] of Integer;
i,j: Integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize; // Initialisierung der Randomfunktion
end;
procedure TForm1.Tausche(a,b: Integer); //Tauschprozedur
var Tausch: Integer;
begin
Tausch := a;
a := b;
b := Tausch;
end;
procedure TForm1.bZahlenClick(Sender: TObject); //Prozedur zum Generieren der
var z: Integer; // Felder des Arrays "a"
begin
for z:=0 to 12 do
begin
a[z]:= random(100);
end;
for z:=0 to 12 do
mStrings.Lines.Add(IntToStr(a[z]));
end;
procedure TForm1.bSortClick(Sender: TObject); // Bubblesort Sortierfunktion
begin
for i:=0 to 11 do
for j:=0 to (12-i) do
begin
if a[j] > a[j+1] then
begin
Tausche(a[j],a[j+1]);
end;
end;
mStrings.Clear;
for i:=0 to 12 do
mStrings.Lines.Add(IntToStr(a[i]));
end;
end.
Ich wäre sehr dankbar, wenn ihr mal drüberschauen könntet

MfG Br0t

