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

Вниз

Перестановка строк   Найти похожие ветки 

 
DolQ   (2005-02-08 21:24) [0]

Подскажите как решить такую задачу:
Есть Memo1 в нем идут n строк (небольшое, приблизительно до 10) между которыми пустые строки. Как мне лучше всего поменять их местами в случайном порядке?


 
Johnmen ©   (2005-02-08 23:08) [1]

Randomize, Random, TStrings, Lines[i] и т.д. и т.п.


 
Юрий   (2005-02-09 19:01) [2]

...
 Randomize;
 Begin
   For I:= 1 to 10 do
    Begin
      TmpIndex:= Random(10)+1;
      TmpSt:=Memo1.Lines.Strings[TmpIndex];
      Memo1.Lines.Strings[TmpIndex]:=Memo1.Lines.Strings[I];
      Memo1.Lines.Strings[I]:=TmpSt;
    End;
 End;
...


 
begin...end ©   (2005-02-09 19:05) [3]

> Юрий   (09.02.05 19:01) [2]

> TmpSt:=Memo1.Lines.Strings[TmpIndex];    
> Memo1.Lines.Strings[TmpIndex]:=Memo1.Lines.Strings[I];
> Memo1.Lines.Strings[I]:=TmpSt;

Memo1.Lines.Exchange(TmpIndex, I)


 
Jeer ©   (2005-02-09 19:12) [4]

Юрий   (09.02.05 19:01) [2]
>For I:= 1 to 10 do

После этого "случайного" порядка не будет, а будет приближение к нему.
Для улучшения случайности рекомендую увеличить интервал перемешивания на пару порядков::)


 
DolQ   (2005-02-09 20:59) [5]

Спасибо за помощь!



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
4-1105724945
Sicilla
2005-01-14 20:49
2005.02.27
Чтение и запись динамического массива


14-1107348310
saNat
2005-02-02 15:45
2005.02.27
Автоматизация


8-1099394743
Ms.Dunkul
2004-11-02 14:25
2005.02.27
TShockwaveFlash, проблема.


1-1108315129
Michael5
2005-02-13 20:18
2005.02.27
Подскажите, как определить, какая Button нажата (в режиме run-tim


3-1107233168
RDen
2005-02-01 07:46
2005.02.27
A user transaction is already in progress.