Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Сортировка массива делфи (http://www.tehnari.ru/f41/t36764/)

Андрей_Студент 06.06.2010 19:31

Сортировка массива делфи
 
Помогите сделать прямой обмен в 2-х мерном массиве!!!:tehnari_ru_281:

procedure TForm1.Button2Click(Sender: TObject);
const
SIZE=100;
var
a:array[1..SIZE] of integer;
k:integer; // текущий элемент массива
i:integer; // индекс для ввода и вывода массива
changed:boolean; // TRUE, если в текущем цикле были обмены

buf:integer; // буфер для обмена элементов массива

begin
// ввод массива
for i:=1 to SIZE do
a[i] := StrToInt(StringGrid1.Cells[i-1,0]);

label3.caption:='';

// сортирвка массива
repeat
changed:=FALSE; // пусть в текущем цикле нет обменов
for k:=0 to SIZE-1 do
if a[k] > a[k+1] then
begin // обменяем k-ый и k+1-ый элементы
buf := a[k];
a[k] := a[k+1];
a[k+1] := buf;
changed := TRUE;
end;

// вывод массива
for i:=0 to SIZE do
Label3.caption:=label3.caption+' '+IntTostr(a[i]);
Label3.caption:=label3.caption+#13;

until not changed; // если не было обменов, значит
// массив отсортирован

Label3.caption:=label3.caption+#13+'Массив отсортирован.';
end;

end.


Часовой пояс GMT +4, время: 10:05.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.