Показать сообщение отдельно
  #1  
Старый 10.12.2011, 18:50
adik adik вне форума
Прохожий
 
Регистрация: 10.12.2011
Сообщения: 5
Репутация: 10
Злость Помогите с сортировкой массива

Код:
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 тобишь сортировку в зависимости от чисел нужно понажимать несколько раз пока оно окончательно не отсортирует, как мне задать условие что бы функция повторялась пока массив не будет отсортирован окончательно пробовал через репит антил, но что то не получается помогите пожалуйста!!
Изображения
Тип файла: jpg 1.JPG (34.7 Кбайт, 4 просмотров)
Тип файла: jpg 2.JPG (35.2 Кбайт, 2 просмотров)
Ответить с цитированием