|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.10.2013, 17:01 | #11 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
|
26.10.2013, 23:01 | #12 |
Новичок
Джуниор
Регистрация: 26.10.2013
Сообщений: 1
|
Я, честно говоря только начал изучать Delphi.
Вот набросал прогу лотерии 5 из 36. Естественно нам не нужно, чтобы числа выпадали повторно. Решение такое. Может и громоздко, но я только осваиваю. var AA, BB, CC, DD, EE: Integer; label Loop1, Loop2, Loop3, Loop4, Loop5; begin Loop1://Первое число AA:= Random(37); if AA=0 then goto Loop1; //Исключаем 0 memo1.Lines.Add (IntToStr(AA));// Отображаем число в строке Loop2: //Второе число BB:= Random(37); if (BB=AA) or (BB=0) then goto Loop2; //Исключаем повтор и 0 memo1.Lines.Add (IntToStr(BB));// Отображаем число в строке Loop3: //Третье число CC:= Random(37); if (CC=AA) or (CC=BB) or (CC=0) then goto Loop3; //Исключаем повторы и 0 memo1.Lines.Add (IntToStr(CC));// Отображаем число в строке Loop4: // Четвертое число DD:= Random(37); if (DD=AA) or (DD=BB)or (DD=CC) or (DD=0) then goto Loop4;// Повторы и 0 memo1.Lines.Add (IntToStr(DD));// Отображаем число в строке Loop5: //Пятое число EE:= Random(37); if (EE=AA) or (EE=BB) or (EE=CC) or (EE=DD) or (EE=0) then goto Loop5;// Повторы и 0 memo1.Lines.Add (IntToStr(EE));// Отображаем число в строке memo1.Lines.Add ('');// Пустая строка end; Последний раз редактировалось Koma76; 26.10.2013 в 23:05. |
27.10.2013, 00:29 | #13 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
Нахождение 2х рандомных чисел от 10 до 20, исключая (11, 13, 16, 17). Вроде должно работать.
Код:
Код:
alextrof94$gmail.com
Последний раз редактировалось alextrof94; 27.10.2013 в 00:42. |
27.10.2013, 00:47 | #14 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Koma76, а вот так без меток и goto
Код:
PS Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 27.10.2013 в 00:51. |
27.10.2013, 01:00 | #15 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
28.10.2013, 09:44 | #16 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Такая запись ни в Delphi, ни, тем более, в Pascal - НЕДОПУСТИМА! только перебор, только хардкор! p.s. числа от 1 до 36 можно сохранять во множесте (set of byte), вот тогда будет допустима операция if xxx IN Множество |
|
28.10.2013, 10:21 | #17 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
ну так и перегнать в сет, делов то
|
28.10.2013, 10:25 | #18 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
И что? Тогда уж проще в цикле по массиву. Ну и вдруг не из 36, а из 512 выборка? Тогда уж точно множества не помогут
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как работает RandomRange? | bakanaev | Общие вопросы Delphi | 3 | 12.03.2013 17:10 |
[Delphi]Удалить в файле целых чисел определенные числа.(работает некорректно) | neytron007 | Помощь студентам | 7 | 06.01.2013 18:40 |
Как блокировать разрушение фрейма? | zatocnik | JavaScript, Ajax | 0 | 03.11.2012 01:19 |
найти определенные числа в строке | fize | Помощь студентам | 3 | 15.01.2010 11:26 |
Как блокировать рекламу плагами FFox'a | AgressiveBehavior | Свободное общение | 1 | 23.09.2009 14:14 |