主题:动态数组
channelxp
[专家分:20] 发布于 2007-07-11 15:23:00
如何做一个动态数组,数组里的数一一与一个数作比较,不相同的话就把这个数插进数组,然后数组长度加1
回复列表 (共1个回复)
沙发
长尾兔 [专家分:3630] 发布于 2007-07-12 09:12:00
佩服楼主的愚公精神,所以免费为你再答一题(本来打算凡是你的题目就不答了)。解决了问题不给分,是不仗义的。
type
TArr = array of integer;
var
Arr : TArr;
procedure NotExistsThenInsert(var AArr: TArr; V: integer);
var
Idx : integer;
Existed : boolean;
begin
Existed := False;
for Idx := Low(AArr) to High(AArr) do
if AArr[Idx] = V then begin
Existed := True;
Break;
end;
if Not Existed then begin
SetLength(AArr, Length(AArr)+1);
AArr[High(AArr)] := V;
end;
end;
procedure TForm1.Button1Click(Sender: TObject); ////测试
var
Idx : integer;
begin
NotExistsThenInsert(Arr, StrtoInt(Edit1.Text));
for Idx := Low(Arr) to High(Arr) do
Showmessage(InttoStr(Arr[Idx]));
end;
我来回复