回 帖 发 新 帖 刷新版面

主题:5555555^^菜鸟求救~~

procedure TForm1.Button1Click(Sender: TObject);
var
  arr:array[1..7] of integer;
  i,j,temp:integer;
begin
  for i:=1 to 7 do
  begin
    arr[i]:=i;
  end;  //end for
  for i:=1 to 7 do
  begin
    for j:=1 to i do
    begin
      if arr[j]<arr[j+1] then
      begin
        temp:=arr[j];
        arr[j]:=arr[j+1];
        arr[j+1]:=temp;
      end;//if
    end;//j
  end;//i
for i:=1 to 7 do
begin
  edit1.Text:=edit1.Text+inttostr(arr[i]);
end;//i
end;

end.
请问这个冒泡是哪里错了呢??
怎么编译通过了,但是不能运行~~
请各位有时间的话帮我看看………………感激``

回复列表 (共3个回复)

沙发

你定义了integer,但最后算出的不是integer,请查看你的算式,有问题,
将edit1.Text:=edit1.Text+inttostr(arr[i]);
改为
showmessage(inttostr(arr[i]));就可看到结果了

板凳

哦,我去看一下~
谢谢wealthy~~!!

3 楼

我找到错误,改好了~~
请问定义了integer,但最后算出的不是integer具体是什么意思啊??
等我把冒泡的部分改好后,用edit1.Text:=edit1.Text+inttostr(arr[i]);
同样显示了啊~~
谢谢各位~

我来回复

您尚未登录,请登录后再回复。点此登录或注册