![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
sozdaniie i proverka
spogi © (2004-02-27 00:24:00)Priver vsem!
Kto v kurse ili xotya bi znaet otkuda mojno vzyat takoy vesh:
- po teleku pokazivayut igru Loto... primerno, kajdiy celovek imeet svoy bilet, tam cifri, popadayut cifri i bilet viiqrivaet (ne vse konecno)... kakie primeri po sozdaniyu takoy programmi mojete pokazat??? ocen nujen...
TButton (2004-02-27 17:31:00) [1]имхо вопрос не про шары был, а про билеты...
Defunct (2004-02-27 02:08:00) [2]Просто подумайте как такое реализовать.
Пусть будет X из N шаров.
Ваша задача отобрать случайным образом X шаров.
Создаем массивы
TotalBalls : Array[1..N] of Boolean; // будет показывать имеетсяли шар с таким номером или уже нет.
RandomBalls : Array[1..X] of Byte; // Будет накапливать результат
Ну а дальше все просто, говорим, что в исходном состоянии присутствуют все N шаров:
For I:=1 to N Do TotalBalls[i]:=True;
Выбираем X случайных шаров:
For I:=1 to X Do
Begin
PreferredBall := Random(N); // Выбираем случайный шар
While Not TotalBalls[PrefferedBall] Do // Пока шара с таким номером нет
PreferredBall := Random(N); // выбираем случйный шар
TotalBalls[PrefferedBall] := False; // Забрали шар
RandomBalls[i] := PrefferedBall; // добавили к результату
End;
вот и все лото.