Главная страница
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.031 c
1-40455
Term
2003-10-02 17:16
2003.10.13
Как сделать программный клик по speedbutton?


1-40457
-=[SDA]=-
2003-10-02 12:31
2003.10.13
Как корректно закрыть отчет !?


14-40605
Mystic
2003-09-25 18:51
2003.10.13
Статьи Каспарова


4-40720
AndreyAs
2003-08-08 11:49
2003.10.13
Handle компонета в другом приложении


1-40513
Hatawa
2003-10-02 07:37
2003.10.13
Как распараллелить два процесса?