Главная страница
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.029 c
1-40415
Bezpal
2003-10-03 08:56
2003.10.13
Люди не знаете, есть ли где нить русский help для Delphi?


1-40462
gregz
2003-10-02 16:25
2003.10.13
Русификатор


4-40748
jav
2003-08-04 17:52
2003.10.13
Получение кода возврата процесса из консольного приложения


1-40453
ctranik
2003-10-02 18:08
2003.10.13
товарищи мастера помогите, разобратся с потоками


1-40475
Dysan
2003-10-02 14:37
2003.10.13
CreateOleObject( Excel.Application );