注册 登录
编程论坛 Delphi论坛

[求助]数组的问题

tangxiao1115 发布于 2006-04-11 16:11, 494 次点击
本人刚学习DELPHI,现在碰到一个问题,怎么样才能把一个数组的奇数位元素和偶数位元素换位?比如说一个DATA[J]数组,怎么样才能实现把DATA[0]中的元素存入 DATA[1]中,而把DATA[1]中的元素存入DATA[0]中?谢谢大家啊!
2 回复
#2
ysp_19842006-04-12 09:26

procedure TForm1.Button1Click(Sender: TObject);
var
i,j,temp:integer;

a:array[0..7] of integer;
begin

for i:=0 to length(a)-1 do
begin
a[i]:=i;
end;
i:=0;
while(i<length(a)-1) do
begin
temp:=a[i];
a[i]:=a[i+1];
a[i+1]:=temp;
inc(i,2);
end;

end;
你看行不行啊?

#3
sucrjity2006-04-12 09:52

把它在FORM1的画布上打出来,可以看的更清楚一些!
procedure TForm1.Button1Click(Sender: TObject);
var
data:array of integer;
i,Len:integer;
temp:integer;
begin
button1.Enabled:=false;
Len:=strtoint(inputbox('输入数字','请输入数组的长度',''));
setlength(data,len);
for i:=0 to len-1 do
begin
data[i]:=10+i;
form1.Canvas.TextOut(40,40+20*i,'data['+inttostr(i)+']: '+inttostr(data[i]));
end;
i:=0;
while i<len-1 do
begin
temp:=data[i];
data[i]:=data[i+1];
data[i+1]:=temp;
i:=i+2;
end;
for i:=0 to len-1 do
form1.Canvas.TextOut(150,40+20*i,'data['+inttostr(i)+']: '+inttostr(data[i]));


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form1.Refresh;
button1.Enabled:=true;
end;

1