unit yaohaoqiU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin;
type
TForm1 = class(TForm)
Button1: TButton;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
Button2: TButton;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,r,l:integer;
s:string;
All:array[0..1000] of integer;//这个数组用来装随机数的
Result:array[0..1000] of integer;//这个数组用来装结果的
begin
l:=label3.Height;
if spinEdit1.Value<spinEdit2.Value then
begin
label3.caption:=''''错了喔..倒了也!'''';
label3.Width:=353;
end
else
begin
for i:=0 to spinEdit1.Value-1 do
All[i]:=i;
//产生M个随机数
for i:=0 to spinEdit2.Value-1 do
begin
j:=random(spinEdit1.Value);
r:=j mod (spinEdit1.Value-1-i);
Result[i]:=All[r];
All[r]:=All[spinEdit1.Value-1-i];
end;
ListBox1.Clear;
s:='''' '''';
for i:=0 to spinEdit2.Value-1 do
begin
s:=s inttostr(Result[i]) '''' '''';
ListBox1.Items.add(inttostr(Result[i]));
end;
label3.caption:=s;
label3.Width:=353;
end;
form1.Height:=(300 (l-110));
form1.InitiateAction;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.
运行时:

输入后结果:
改个数后结果:

文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



