unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
sgmassiv: array[1..3] of TStringGrid;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 3 do
begin
sgmassiv[i]:=TStringGrid.Create(self);
with sgmassiv[i] do
begin
Parent:=self;
Left:=5*(i*15);
Top:=100;
RowCount:=7;
colcount:=1;
FixedCols:=0;
fixedrows:=0;
Height:=180;
Width:=84;
end;
end;
sgmassiv[3].Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i,k:integer;
begin
randomize;
for k:=1 to 7 do
sgmassiv[1].cells[0,k-1] :=inttostr(random(50)+50);
begin
for i:=1 to 7 do
sgmassiv[2].Cells[0,i-1]:=sgmassiv[1].cells[0,i-1];
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 6 do
begin
if sgmassiv[2].cells[0,i-1]>sgmassiv[2].cells[0,i]
then
begin
sgmassiv[3].Cells[0,0]:=sgmassiv[2].Cells[0,i-1];
sgmassiv[3].Cells[0,1]:=sgmassiv[2].Cells[0,i];
sgmassiv[2].Cells[0,i]:=sgmassiv[3].cells[0,0];
sgmassiv[2].cells[0,i-1]:=sgmassiv[3].Cells[0,1];
end;
end;
end;
end.
Админ: Пользуемся тегами при оформлении кода!
Оформил сортировку стринггрида я эти темы пропустил в универе поэтому все делал сам, так что код громоздкий и не оптимальный я это понимаю, но все же сама сортировка работает на ура, НО! баттон 3 тобишь сортировку в зависимости от чисел нужно понажимать несколько раз пока оно окончательно не отсортирует, как мне задать условие что бы функция повторялась пока массив не будет отсортирован окончательно пробовал через репит антил, но что то не получается помогите пожалуйста!!
Последний раз редактировалось Admin, 11.12.2011 в 12:59.
Да по идее это должен быть пузырек и в чем заключается смысл 2 цикла? что он должен делать? проверять отсортирован массив или нет, если да то подскажи как его организовать