Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

Сортировка массивов   Найти похожие ветки 

 
Soi   (2003-10-01 06:08) [0]

Помогите пожалуйста. Связался с delphi и столько сразу проблем, в ПЕРЛЕ такого я и не знал.
Проблема такая:

1) Как забить массив случайными числами (например в диапазоне 1..100), но так, чтобы эти числа не повторялись?

2) Или если можно, то существующий массив m:array[1..50] of integer отсортировать в произвольном порядке.

Заранее благодарен.


 
Soi   (2003-10-01 06:43) [1]

1


 
Думкин ©   (2003-10-01 06:51) [2]

У МВо есть программа, которая все делает с массивами и РНД.
Далее:
http://delphibase.endimus.com/?action=viewtopic&topic=mathsort


procedure TForm1.FormCreate(Sender: TObject);
begin
//Randomize выполняется один раз, например, при старте программы
//если этого не сделать, при каждом запуске программы последовательность
//чисел будет начинаться одинаково!
//Не следует вызывать Randomize в цикле:
// for ...
// Randomize;
// i:=Random(100);
// end;
//Поскольку Randomize инициализирует счетчик по времени,
//скорее всего значения i будут многократно повторяться

Randomize;
end;

.....
procedure TForm1.Button6Click(Sender: TObject);
var
A: array[1..N] of Integer;
i, j, temp: Integer;
begin
//получение массива случайных неповторяющихся чисел
//в диапазоне 1..N
//перемешиванием массива последовательных чисел

Memo1.Lines.Add("");
for i := 1 to N do
A[i] := i;
for i := 1 to N do begin
temp := A[i];
J := Random(N) + 1;
A[i] := A[j];
A[j] := temp;
end;
for i := 1 to N do
Memo1.Lines.Add(IntToStr(A[i]));
end;


Текст взят из программы любезно предоставленной МВо. ССылку не знаю.



Страницы: 1 вся ветка

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
4-40744
LOX
2003-08-06 16:16
2003.10.13
диалог выбора папок


1-40381
VaS
2003-10-01 12:19
2003.10.13
Запуск программы без отладчика


14-40623
Users
2003-09-24 21:59
2003.10.13
Генерация пароля (A-Z, AA, AB, AC, ...)


11-40335
DrFaust
2003-01-21 13:37
2003.10.13
PageControl


14-40638
Дмитрий
2003-09-25 10:40
2003.10.13
PC AnyWhere под XP.