Программа генерирующая последовательность случайных неповторяющихся целых чисел

Написать программу, генерирующую последовательность случайных неповторяющихся целых чисел в диапазоне от 0 до 65535. Длину последовательности вводит пользователь в начале работы программы (значение по умолчанию 2300). Результат представить в виде списка.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Spin, ExtCtrls;

type

TForm1 = class (TForm)

Button1: TButton;

Memo1: TMemo;

Label2: TLabel;

SpinEdit2: TSpinEdit;

Button2: TButton;

procedure Button1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

SBase, SDict: string;

a: integer;

implementation

{$R *.dfm}

procedure BruteForce (S: string; n: integer);

var

i:integer;

begin

for i := 1 to Length (SDict) do

begin

s[n] := SDict[i];

if n = 1 then

if form1.Memo1.Lines.Count<Form1.SpinEdit2.Value then      //ограничитель генерации

form1.Memo1.Lines.Add (s)

else

exit

else

BruteForce (s, n — 1);

end;

end;

procedure TForm1.Button1Click (Sender: TObject);

var i:integer; s:string;

begin

s:='1234567890';

Sbase:='';

SDict := s;

for i:=1 to 5 do //максимум 5 символов

begin

Sbase:=Sbase+'a';

BruteForce (SBase, Length (SBase));

end;

end;

procedure TForm1.FormCreate (Sender: TObject);

begin

Application.ProcessMessages;

end;

procedure TForm1.Button2Click (Sender: TObject);

begin

Memo1.Clear;

end;

end.

About admin

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

Подтвердите, что Вы не бот — выберите самый большой кружок: