unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 =
class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
//Zählvariable für die Spalten
begin
randomize;
//Zufallsgenerator
for i:=1
to 100
do stringgrid1.cells[i,0]:=inttostr(i);
//Zeile 0 mit Zahlen 1 bis 10 füllen
for i:=1
to 100
do stringgrid1.cells[i,1]:=inttostr(random(1001));
//Zeile 1 mit Zufallszahlen von 0 bis 70 füllen
end;
procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
//i=Zahl der Spalte - j=Zählvariable(entspricht Anzahl der Spalten)
s:
string;
//Variable zum Tauschen
begin
for j:=1
to 100
do //Anzahl der Durchläufe entsprechend der Anzahl der Spalten
for i:=1
to 99
do //Durchlauf der Spalten von 1 bis 9
begin
if strtoint(stringgrid1.cells[i,1])>strtoint(stringgrid1.cells[i+1,1])
then //Vergleich der Spalte i und ihrer nachfolgenden Spalte
begin //Bedingung erfüllt - Spalte 1 größer als Spalte 2
s:=stringgrid1.cells[i,1];
//Inhalt von Zelle 1 in Tauschvariable
stringgrid1.cells[i,1]:=stringgrid1.cells[i+1,1];
//Inhalt von Zelle 2 in Zelle 1
stringgrid1.cells[i+1,1]:=s;
//Inhalt von Tauschvariable in Zelle 2
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button4Click(Sender: TObject);
VAR i,j,m:integer;
begin
for i:=1
to 1001
do
begin
m:= a[i];
j:=i;
while (j>i)
and (a[j-1] > m )
do
begin
a[j] := a[j-1];
j:=j-1;
end;
a[j]:= m;
stringgrid1.Cells[3,1]:=inttostr(a[i]);
end;
end;
end.