Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
8-40526
LedWorm
2003-06-11 19:24
2003.10.13
Эквалайзер в делфи


1-40359
SPIRIT
2003-10-01 18:51
2003.10.13
Надо узнать сколько и какие локальные диски на компе


8-40519
Ламер
2003-06-12 15:53
2003.10.13
Сохранение рисунка


1-40363
Romeo
2003-09-30 16:59
2003.10.13
Как нарисовать что-нибудь на контроле, не имеющем Canvas a?


3-40235
Oleg1111
2003-09-24 08:00
2003.10.13
Стоит ли использовать ADO?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский