Помогите сделать прямой обмен в 2-х мерном массиве!!!
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.