那我有想这样的思路:
随机读取一个数
      |
比较,随机数,已经存在数组a中,
      §
如果有,则返回继续读取一个
       §
如果不存在,就存入数组a,
        §
进行后面的程序
        §
返回上面,随机读取数
请问这么实现,谢谢了。。

解决方案 »

  1.   

    可能是因为问题描述过于清楚,所以没人知道怎么回答了!末怪,开玩笑用我的flowchart builder画吧!一画就清楚了http://lysee.oicp.net/downloads/fcb108_2232.exe
      

  2.   

    樓主不會是來這樣求代碼的吧,你不要告訴我,你不會寫delphi程序喲你給我的留言,我看了,可惜我也不知道是哪個貼子,不好回答你~~~~
      

  3.   


    Flag:= True;
    Repeat
      Randomize;
      TempFloat := Random(1000);
      TempFlag := False;
      For i:= 0 to High(a) do begin
        If TempFloat=a[i] Then begin
          TempFlag := True;
          Break;
        end;
      end;
      If Not TempFlag Then begin
        SetLength(a,Length(a)+1);
        a[High(a)] := TempFloat;
        Flag := True;
      End;
    Until Flag没经过测试,思路大概就是这样
      

  4.   

    验证通过,没问题
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      a:array of real;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var Flag,TempFlag:boolean;
        TempFloat:real;
        i:integer;
    begin
    Flag:= True;
    Repeat
      Randomize;
      TempFloat := Random(1000);
      TempFlag := False;
      For i:= 0 to High(a) do begin
        If TempFloat=a[i] Then begin
          TempFlag := True;
          Break;
        end;
      end;
      If Not TempFlag Then begin
        SetLength(a,Length(a)+1);
        a[High(a)] := TempFloat;
        Flag := True;
      End;
    Until Flag
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      SetLength(a,0);
    end;procedure TForm1.Button2Click(Sender: TObject);
    var i:integer;
    begin
      for i:= 0 to High(a) do begin
        Memo1.Lines.Add(IntToStr(i)+':'+FloatToStr(a[i]));
      end;
    end;end.
      

  5.   

    不好意思,
    以前没有用过delhhi,
    谢谢楼上的诸位,
    应该没有问题了。。
    谢谢了。。