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

Вниз

Как перемешать строки   Найти похожие ветки 

 
Феликс ©   (2004-04-07 00:25) [0]

В listboxe есть строки:
1
2
3
4
5
6
7
8
и.т.д

Нужно эти строки перемашать как карты в колоде (т.е по принципу случайного перемещения). Как такое сделать?

Заранее благодарен. Очень нужен исходник.


 
SergP ©   (2004-04-07 00:37) [1]

Ну это уж очень просто...
Например типа так:

for i:=1 to N-1 do
begin
j:= ...//здесь выбираем рандомайзером что-нить от i до N
// затем меняем местами строки i и j
end;

Или тебе нужна сама реализация?


 
Феликс ©   (2004-04-07 00:40) [2]

А я так и делал, но чего-то какая-то ошибка вылетает. Я подумал, что может это не самый эффективный способ. Короче если подскажите реализацию было бы очень круто.


 
Кщд   (2004-04-07 06:20) [3]

обмен значениями м/у двумя элементами массива уже проблема?


 
SergP ©   (2004-04-07 08:23) [4]

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
stroka:string;
begin
with listbox1.items do for i:=0 to count-1 do
 begin
   j:=random(Count-i)+i;
   stroka:=Strings[i];
   Strings[i]:=Strings[j];
   Strings[j]:=stroka;
end;

end;

initialization
randomize;

Написал и сразу же проверил. Все работает нормально.
А что за ошибка вылетает... И где?


 
Anatoly Podgoretsky ©   (2004-04-07 09:14) [5]

SergP ©   (07.04.04 08:23) [4]
Он же так никогда не научится программировать, только CopyPaste


 
SergP ©   (2004-04-07 13:43) [6]


> Anatoly Podgoretsky ©   (07.04.04 09:14) [5]


Это его проблемы. Хотя...

я вот раньше писал почти только на FoxPro (под DOS), по крайней мере на Паскале никогда не пробовал писать и когда первый раз поставил Delphi, то понятия не имел что мне с ним дальше делать.
Попросил друга чтобы он мне написал какой-нить простой примерчик в моем присутствии. Ну и дальше уже сам разбирался. Но если бы мне тогда никто ничего не показывал, то я наверное бы забросил Delphi.
Возможно человеку тоже было нужно что-нить, типа для рывка...


 
Тимохов ©   (2004-04-07 13:47) [7]


> SergP ©   (07.04.04 13:43) [6]

разница с этим случаем в том, что у вас (я так понял) не было задания. дельфи вы изучали т.к. считали это нужным и полезным.

в данном случае уже и дело есть, а разбираться как сделать лень...


 
Феликс ©   (2004-04-07 19:32) [8]

2 SergP
Все работает. Спасибо.


 
Verg ©   (2004-04-07 20:18) [9]


> Возможно человеку тоже было нужно что-нить, типа для рывка...


> Попросил друга чтобы он мне написал какой-нить простой примерчик
> в моем присутствии.


 
SergP ©   (2004-04-08 09:06) [10]

>Verg ©   (07.04.04 20:18)

Неужели c тобой так никогда не было?



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

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

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1081178468
Максим
2004-04-05 19:21
2004.04.25
Прозрачная кнопка


11-1063612134
dataMaster
2003-09-15 11:48
2004.04.25
Левый верхний угол сетки mdvXLGrid


3-1080231798
and
2004-03-25 19:23
2004.04.25
Список таблиц SQL запросом


9-1068044148
|dRake|
2003-11-05 17:55
2004.04.25
и ещё раз о PowerDraw :)


6-1077359189
ProNix
2004-02-21 13:26
2004.04.25
TwebBrowser и фреймы