Главная страница
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.048 c
3-1080196639
anton_cor
2004-03-25 09:37
2004.04.25
отследить переоткрытые detail DataSet’а в master/detail


3-1080560695
ikondakov
2004-03-29 15:44
2004.04.25
Как вместе с программой запихнуть BDE???


1-1081080475
Delphin
2004-04-04 16:07
2004.04.25
Hi ALL! Есть проблема с типизированным файлом: есть такой код:


9-1067955145
delpher_gray
2003-11-04 17:12
2004.04.25
PowerDraw ?? Как и чё ??


1-1081240057
York
2004-04-06 12:27
2004.04.25
Процедура поиска