Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 14:02   #1
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию Delphi Randomize

Здараствуйте дорогие форумчанины!
У меня возникла проблема.
У меня есть последовательность цифр от 0 до 4.
Мне нужну из этой последовательность брать рандомно числа. Например:
1 3 0 4 2
Я использовала функцию Randomize и random. Но вот какая проблема. Процедура Randomize генерирует случайную таблицу чисел. Но random может повторять числа которые уже взял, т.е. например: 1 1 0 3 3. Ка мне избавиться от повтора чисел и достичь первого результата?
Очень жду ваших предложений и помощи....
Заранее спасибо!
tanek вне форума Ответить с цитированием
Старый 30.05.2010, 14:03   #2
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

Цитата:
Очень жду ваших предложений
предложение одно ---> дуйте в поиск по форуму
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
DoDge_VipeR вне форума Ответить с цитированием
Старый 30.05.2010, 14:22   #3
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

DoDge_VipeR не ту в поиски.... Там толко как просто сгенерировать, а чтобы делать без повтора нету.....((((
tanek вне форума Ответить с цитированием
Старый 30.05.2010, 14:25   #4
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

http://programmersforum.ru/showthrea...F2%EE%F0%EE%E2 глазоньки то протрите
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
DoDge_VipeR вне форума Ответить с цитированием
Старый 30.05.2010, 14:48   #5
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

А вот еще:Как получить неповторяющиеся случайные числа?
Код:
 
procedure Shuffle(var aArray; aItemCount: Integer; aItemSize: Integer); 
{ after Julian M Bucknall } 
var 
Inx: Integer; 
RandInx: Integer; 
SwapItem: PByteArray; 
A: TByteArray absolute aArray; 
begin 
if (aItemCount > 1) then 
begin 
   GetMem(SwapItem, aItemSize); 
   try 
     for Inx := 0 to (aItemCount - 2) do 
     begin 
       RandInx := Random(aItemCount - Inx); 
       Move(A[Inx * aItemSize], SwapItem^, aItemSize); 
       Move(A[RandInx * aItemSize], A[Inx * aItemSize], aItemSize); 
       Move(SwapItem^, A[RandInx * aItemSize], aItemSize); 
     end; 
   finally 
     FreeMem(SwapItem, aItemSize); 
   end; 
end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
a: array[1..10] of Integer; 
i: Shortint; 
begin 
Randomize; 
for i := Low(a) to High(a) do a[i] := i; 
Shuffle(a, High(a), SizeOf(Integer)); 
for i := 1 to High(a) - 1 do 
   ListBox1.Items.Add(IntToStr(a[i])); 
end;
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 31.05.2010, 20:52   #6
tanek
Форумчанин
 
Регистрация: 07.03.2009
Сообщений: 209
По умолчанию

Grag я была бы вам очень признательна, если бы вы мне подсказали как сделать для двумерного прямоугольного массива))))))......
tanek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Randomize...как правильно написать Lifefine C++ Builder 2 07.11.2009 21:27
вопрос по процедуре randomize Evgenii Общие вопросы Delphi 2 05.02.2009 19:24
Randomize )Игнат( Паскаль, Turbo Pascal, PascalABC.NET 13 03.02.2009 16:51
Randomize в DBGrid-e artemavd Общие вопросы Delphi 8 02.01.2009 20:11
Функция Randomize MaXXX Общие вопросы Delphi 2 23.09.2008 11:42