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: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Buttons, ExtCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; StringGrid1: TStringGrid; Label1: TLabel; BitBtn1: TBitBtn; Label3: TLabel; Label4: TLabel; RadioGroup1: TRadioGroup; Button2: TButton; procedure Button1Click(Sender: TObject); procedure ausgeben; procedure BitBtn1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure BubSort(Feld: Array of integer); private public end;
var Form1: TForm1; Feldlaenge: integer; Feld: array of integer;
implementation
{$R *.DFM} procedure tform1.ausgeben; var t: integer; begin for t:= 1 to Feldlaenge do Stringgrid1.cells[t-1,0]:=inttostr(Feld[t]); end; procedure TForm1.Button1Click(Sender: TObject); var i,Anzahl: integer; begin
if edit1.text = ' ' then begin Feldlaenge:=100; showmessage('Feldlänge auf 100 gesetzt!'); end else begin Anzahl:= strtoint(Edit1.text); if (Anzahl < 2) or (Anzahl > 1000) then begin Feldlaenge:=100; showmessage('Feldlänge auf 100 gesetzt!'); end else begin Feldlaenge:= Anzahl; end; end; randomize; setlength(Feld,Feldlaenge); for i:= 1 to Anzahl do Feld[i-1]:= random(1000); ausgeben; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end;
procedure TForm1.Button2Click(Sender: TObject); var i, j, h, x: integer; begin if radiogroup1.itemindex=0 then begin BubSort; end else begin showmessage('noch nicht dabei'); end end;
procedure BubSort(Feld: Array of Integer); var Run: LongInt; Index: LongInt; x: Byte; begin for Run := 1 to 100 do for Index := 100 downto Run do if Feld[Index] < Feld[Index - 1] then begin x := Feld[Index]; Feld[Index] := Feld[Index - 1]; Feld[Index - 1] := x; end; end;
end. |