Показать сообщение отдельно
  #1  
Старый 28.06.2013, 10:24
GoryachevEugeneS GoryachevEugeneS вне форума
Прохожий
 
Регистрация: 05.06.2013
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Меняем столбцы местами. Двумерка

Двумерный массив из четного числа столбцов. Поменять местами первый столбец со вторым, третий — с четвертым и т. д.
Код:
procedure TForm4.Button26Click(Sender: TObject);
var i,j:byte;
begin
randomize; //Заполняем массив случайными числами
stringgrid1.ColCount:=d;
stringgrid1.RowCount:=d;
for i:=1 to d do
for j:=1 to d do
mas3[i,j]:=-4+random(21);
for i:=0 to d-1 do
for j:=0 to d-1 do
stringgrid1.Cells[i,j]:=inttostr(mas3[j+1,i+1]);
end;

procedure TForm4.Button28Click(Sender: TObject);
var i,j:byte; //Меняем столбцы местами
x:integer;
begin
for j:=1 to d div 2 do
for i:=1 to d do
begin
x:=mas3[i,j];
mas3[i,j]:=mas3[i,d-j+1];
mas3[i,d-j+1]:=x;
end;
stringgrid2.ColCount:=d;
stringgrid2.RowCount:=d;
for i:=0 to d-1 do
for j:=0 to d-1 do
stringgrid2.Cells[i,j]:=inttostr(mas3[j+1,i+1]);
end;
Здесь, получается, что он меняет 1 с 4, 2 с 3. А нужно 1 со 2, 3 с 4!
Ответить с цитированием