| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:请教一个数据序列组合方法
只看楼主 加入收藏
小雨毛毛下
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
请教一个数据序列组合方法
我知道一个连续的数组,如{1 2 3 4 5 6 7 8 9 10 11 12}组合成一个8个数以内不重复的数组可以用随机数来做,但是,一个不连续的数组如{1 2 3 5 6 7 11 12 15 18 19 20 26 31 35 39 40 52 55 56 57}将这些数组合成8个以内不重复的数,用DELPHI 7怎么编写程序。
搜索更多相关主题的帖子: 编写程序 
2011-06-25 19:07
冰蟾子
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:498
专家分:109
注 册:2006-4-14
收藏
得分:7 
没看懂

欢迎到我的blog做客。。。。。。。。
2011-06-27 15:46
xiakexing
Rank: 2
等 级:论坛游民
帖 子:4
专家分:17
注 册:2009-7-10
收藏
得分:7 
var
a: array[0..20] of Integer =(1,2,3,5,6,7,11,12,15,18,19,20,26,31,35,39,40,52,55,56,57);

procedure TForm1.Button1Click(Sender: TObject);
var
b:TStrings;
i,c:Integer ;
s:string ;
begin
Randomize ;
 b := TStringList .Create;
 try
  for i := 0 to 20 do b.Add(IntToStr(a[i]));
  for i := 0 to 7 do  //这个选8个数
       begin
        c:= Random(21-i);
        s:=s+b[c]+'  ';
        b.Delete(c);
       end;
  mmo1.Lines.Add(s);
 finally
   b.Free;
 end;
end;
2011-06-29 11:50
yuutian
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:137
专家分:686
注 册:2010-10-27
收藏
得分:7 
编译通过
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}




procedure TForm1.Button1Click(Sender: TObject);
var
   a:array[0..20] of Integer;
   b:TStrings;
   i,c:Integer ;
   s:string ;
begin
   memo1.Clear;
   a[0]:=1;
   a[1]:=2;
   a[2]:=3;
   a[3]:=5;
   a[4]:=6;
   a[5]:=7;
   a[6]:=11;
   a[7]:=12;
   a[8]:=15;
   a[9]:=18;
   a[10]:=19;
   a[11]:=20;
   a[12]:=26;
   a[13]:=31;
   a[14]:=35;
   a[15]:=39;
   a[16]:=40;
   a[17]:=52;
   a[18]:=55;
   a[19]:=56;
   a[20]:=57;
Randomize;
b:=TStringList.Create;
try
  for i := 0 to 20 do
      b.Add(IntToStr(a[i]));
  for i := 0 to 7 do  
       begin
        c:= Random(21-i);
        s:=s+b[c]+'  ';
        b.Delete(c);
       end;
  memo1.Lines.Add(s);
finally
   b.Free;
end;
end;


end.
2011-06-29 16:08
yuutian
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:137
专家分:686
注 册:2010-10-27
收藏
得分:0 
这样也可以:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}




procedure TForm1.Button1Click(Sender: TObject);
var
   a:array[0..20] of Integer;
   i,c:Integer ;
   s:string ;
begin
   memo1.Clear;
   a[0]:=1;
   a[1]:=2;
   a[2]:=3;
   a[3]:=5;
   a[4]:=6;
   a[5]:=7;
   a[6]:=11;
   a[7]:=12;
   a[8]:=15;
   a[9]:=18;
   a[10]:=19;
   a[11]:=20;
   a[12]:=26;
   a[13]:=31;
   a[14]:=35;
   a[15]:=39;
   a[16]:=40;
   a[17]:=52;
   a[18]:=55;
   a[19]:=56;
   a[20]:=57;
Randomize;
  for i:=0 to 7 do
       begin
        c:=Random(21-i);
        s:=s+inttostr(a[c])+'  ';
       end;
  memo1.Lines.Add(s);
end;


end.




2011-06-29 16:24
小雨毛毛下
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-25
收藏
得分:0 
谢谢各位老大,最近比较忙没有及时结贴,大哥哥、大姐姐们多多包含。
2011-07-01 16:00
小雨毛毛下
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-25
收藏
得分:0 
新手上路,还请各位老大多多指教。
2011-07-01 16:04
快速回复:请教一个数据序列组合方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015569 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved