[急]福利彩票选号程序:在33个号码中随机选7个。

DDOS1989 2008-10-04 09:46:27
就是33个按钮一个也不删或者删除一些不喜欢的号码,在余下的号码中,让系统随机选出7个号码。

不知从哪里下手。急得很。。明天要交作业了。。
...全文
1891 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼上都给答案了,你把不喜欢的if掉不就可以了?这么简单还得别人给你动手?
DDOS1989 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jmxb123 的回复:]
Delphi(Pascal) codeprocedure 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:=jiegu…
[/Quote]


这个只是第一种方案,随机选7个,如果,我要在右边去掉几个不喜欢我数字呢.而且是在左边的MEMO1中显示出来
DDOS1989 2008-10-06
  • 打赏
  • 举报
回复
问题是是让电脑随机选:要求
1.你什么都不动,直接点选号,让电脑随机选7个数,在右边显示
2.或者你选几个你不喜欢的数字,让电脑在余下的数中,随机选7个数.

就是这样,不知道从哪里下手,急死了,帮忙指点一下.我没钱了.所以只有5分了..真的是不好意思.
DDOS1989 2008-10-06
  • 打赏
  • 举报
回复
可是,我学DELPHI不到两天,我想知道,如果我要把按下去的数字去掉,如何用那个随机函数取值呢。。那个函数可以中间断开取吗。。。
jmxb123 2008-10-06
  • 打赏
  • 举报
回复
楼主 我都太阳你了 纯粹的懒驴

你要是看了我写的那段 通过按下的钮赋个值就行 具体的不说了

你太懒了
DDOS1989 2008-10-06
  • 打赏
  • 举报
回复
各位高手,我 初学DELPHI,楼上所讲,半知半懂。。
僵哥 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hys_427 的回复:]
引用 12 楼 unsigned 的回复:
引用 11 楼 king0bear 的回复:
2.随机打乱StringList当中数据的顺序
3.随机抽取一个删除一个

如何随机打乱呢??我知道排序的。不知道打乱。。。。
既然随机抽取了。又何必随机打乱呢??
个人理解。

随机打乱跟随机抽取差不多,其实就是随机出N和M,然后交换位置.这个过程可以复杂一点,相当于一个一劳永逸的过程.这样子后面抽取的时候就可以简单一点,可以是随机的,也可以直接抽取. …
[/Quote]
不是为了效率.而是更加"随机",因为这里使用的都是伪随机.
喝口水 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 unsigned 的回复:]
引用 11 楼 king0bear 的回复:
2.随机打乱StringList当中数据的顺序
3.随机抽取一个删除一个

如何随机打乱呢??我知道排序的。不知道打乱。。。。
既然随机抽取了。又何必随机打乱呢??
个人理解。

随机打乱跟随机抽取差不多,其实就是随机出N和M,然后交换位置.这个过程可以复杂一点,相当于一个一劳永逸的过程.这样子后面抽取的时候就可以简单一点,可以是随机的,也可以直接抽取.
[/Quote]
个人认为随机打乱的效率并不比随机抽取的效率高到那里
僵哥 2008-10-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 king0bear 的回复:]
2.随机打乱StringList当中数据的顺序
3.随机抽取一个删除一个

如何随机打乱呢??我知道排序的。不知道打乱。。。。
既然随机抽取了。又何必随机打乱呢??
个人理解。
[/Quote]
随机打乱跟随机抽取差不多,其实就是随机出N和M,然后交换位置.这个过程可以复杂一点,相当于一个一劳永逸的过程.这样子后面抽取的时候就可以简单一点,可以是随机的,也可以直接抽取.
king0bear 2008-10-06
  • 打赏
  • 举报
回复
2.随机打乱StringList当中数据的顺序
3.随机抽取一个删除一个

如何随机打乱呢??我知道排序的。不知道打乱。。。。
既然随机抽取了。又何必随机打乱呢??
个人理解。
僵哥 2008-10-06
  • 打赏
  • 举报
回复
1.用StringList初始化1~33到其中,如果哪些不需要初始化的时候就过滤掉.
2.随机打乱StringList当中数据的顺序
3.随机抽取一个删除一个
4.把提取到的添加到显示区域
5.稍加停留
6.判断是否提取完,如果没有完成就继续3
7.结束
shuihan20e 2008-10-06
  • 打赏
  • 举报
回复
纯粹接分

喝口水 2008-10-05
  • 打赏
  • 举报
回复
拿出点诚意来,5分能问出多少答案来,大家看到你那5分就不愿意回答了,另外图片看不到,还有就是把问题说清楚
33个按钮,应该每个按钮上一个数字吧,从1到33,只选7个数,这7个数是让电脑随机选还是人工选,说清楚
喝口水 2008-10-05
  • 打赏
  • 举报
回复
拿出点诚意来,5分能问出多少答案来,大家看到你那5分就不愿意回答了,另外图片看不到,还有就是把问题说清楚
33个按钮,应该每个按钮上一个数字吧,从1到33,只选7个数,这7个数是让电脑随机选还是人工选,说清楚
shenzhen060228 2008-10-05
  • 打赏
  • 举报
回复
帮顶顶
jmxb123 2008-10-04
  • 打赏
  • 举报
回复
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;
DDOS1989 2008-10-04
  • 打赏
  • 举报
回复
哪些大吓指点一下。。。。。。。。

关键是不知从哪里下手

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧