就是33个按钮一个也不删或者删除一些不喜欢的号码,在余下的号码中,让系统随机选出7个号码。不知从哪里下手。急得很。。明天要交作业了。。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Reds:array [1..33] of integer;
      Red,i:integer;
      R,tmp,jieguo:string;
    begin
      randomize;
      for i:=1 to 33 do Reds[i]:=i;
      repeat
      Red:=random(33)+1;
      if Reds[Red]<>-1 then
      begin
        RedS[Red]:=-1;
        if Red<10 then R:='0'+inttostr(Red)
        else R:=inttostr(Red);
      end else
      continue;
      jieguo:=jieguo+R+' ';
      until length(jieguo)=21;
      edit1.Text :=jieguo;
    end;
      

  2.   

    这个只是第一种方案,随机选7个,如果,我要在右边去掉几个不喜欢我数字呢.而且是在左边的MEMO1中显示出来
      

  3.   

    1.用StringList初始化1~33到其中,如果哪些不需要初始化的时候就过滤掉.
    2.随机打乱StringList当中数据的顺序
    3.随机抽取一个删除一个
    4.把提取到的添加到显示区域
    5.稍加停留
    6.判断是否提取完,如果没有完成就继续3
    7.结束
      

  4.   

    2.随机打乱StringList当中数据的顺序 
    3.随机抽取一个删除一个如何随机打乱呢??我知道排序的。不知道打乱。
    既然随机抽取了。又何必随机打乱呢??
    个人理解。
      

  5.   

    各位高手,我 初学DELPHI,楼上所讲,半知半懂。。
      

  6.   

    可是,我学DELPHI不到两天,我想知道,如果我要把按下去的数字去掉,如何用那个随机函数取值呢。。那个函数可以中间断开取吗