需求:循环完毕,数组ti[i,1]里面有100个数 
下面的代码错误之处望大虾不吝指教。 for i := 1 to 100 do
  begin
    tempf := 0;
    while tempf=0 do
    begin
      Randomize;
      temp := random(max);
      for j := 1 to i do
      begin
        if ti[j, 1] = temp then
        begin
          tempf := 0;
          Break;
        end;
        Next;
      end;
      Break;
    end;
    ti[i, 1] := temp;
    ti[i, 3] := 0;
    ti[i, 2] := 0;
    ti[i, 4] := 0;
    Next;
  end;

解决方案 »

  1.   

    还真没看明白你的while tempf=0 do估计是没什么作用了,每次执行一次就Break了
    for j := 1 to i do也没看出能做什么用,后面反正要赋值ti[i, 1] := temp;
      

  2.   

    tempf := 0;
        while tempf=0 do
    都等于0了还判断啥啊?next也不对
      

  3.   

    Next纯粹是执行下一条语句的意思应该和汇编里面的jmp $+1类似
      

  4.   

    Next纯粹是执行下一条语句的意思应该和汇编里面的jmp $+1类似
    ………………………………………………………………Delphi帮助里面怎么没有这个说明?另外,楼主最好把自己的意图写出来,这个东西不知道是干什么用的,也无所谓错误不错误了。
      

  5.   

    Next的过程是这样写的procedure TForm.Next;
    begin
      if (FFormStyle = fsMDIForm) and (ClientHandle <> 0) then
        SendMessage(ClientHandle, WM_MDINEXT, 0, 0);
    end;
      

  6.   

    相应的还有Previousprocedure TForm.Previous;
    begin
      if (FormStyle = fsMDIForm) and (ClientHandle <> 0) then
        SendMessage(FClientHandle, WM_MDINEXT, 0, 1);
    end;
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
      a: Array[0..99] of Integer;
    begin
      Randomize;
      for i:=Low(a) to High(a) do
        a[i] := random(100);
    end;
      

  8.   

    max的值任意 比如1000 在max以内的任意数 使二维数组ti[i,1]:=(x1,1)....(x100,1)
      

  9.   

    procedure TForm1.Button3Click(Sender: TObject);
    var
      i, j, t: integer;
      a: Array[0..99] of Integer;
    const
      max: integer = 1000;
    begin
      Randomize;
      for i:=Low(a) to High(a) do
        a[i] := -1;
      for i:=Low(a) to High(a) do
      begin
        t := Random(max);
        while true do
        begin
          for j:=Low(a) to High(a) do
          begin
            if a[j]=t then
              break;
          end;
          if j>High(a) then
            break
          else
            t := Random(max);
        end;
        a[i] := t;
      end;
    end;