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

Вниз

Циклы...   Найти похожие ветки 

 
Knoxville   (2005-03-02 18:34) [0]

Ув. Мастера! Помогите! У меня такая проблема:
Вот код:

for i := 0 to 4 do
begin
j := Random(10);
k := Random(5);
if FindImg(j, k).Visible <> True then
begin
 FindImg(j, k).Visible := True;
end;
end;


FindImg - это моя ф-ция, которая по 2-м цифрам находит определенный TImage.
Смысл: есть TImage, все невидимы. Цикл должен показать 5 случайных имажей, если они еще не показаны. Проблема: если случайный TImage уже показан, то цикл проходит мимо и в итоге показывает не 5, а 4 TImage или еще меньше! Можно ли как-то уменьшить число i или прокрутить цикл снова?
Спасибо всем!


 
P.N.P. ©   (2005-03-02 18:39) [1]

i:=0;
while i<5 do
begin
j := Random(10);
k := Random(5);
if FindImg(j, k).Visible <> True then
begin
FindImg(j, k).Visible := True;
inc(i)
end;
end;


 
DiamondShark ©   (2005-03-02 18:40) [2]

Пора вывесить где-нибудь выгравиранным на бронзовой доске алгоритм генерации неповторяющейся случайной последовательности:

Заполнить массив последовательными значениями;
Перетасовать массив;
Вибирать последовательно значения.


 
GLFox   (2005-03-02 18:41) [3]

Используй while...do или repeat...until


 
palva ©   (2005-03-02 18:46) [4]

Внутри цикла for изменять переменную цикла запрещено.


 
Knoxville   (2005-03-02 18:47) [5]

GLFox: Что-то repeat не помогает!


 
P.N.P. ©   (2005-03-02 18:48) [6]

>palva ©   (02.03.05 18:46) [4]
Где там изменение переменной? :)


 
DiamondShark ©   (2005-03-02 18:49) [7]


> Knoxville   (02.03.05 18:47) [5]
> GLFox: Что-то repeat не помогает!

Значит звёзды не сложились.


 
Knoxville   (2005-03-02 18:50) [8]

palva:
Я знаю! Вот почему и спрашиваю.
Вобщем спасибо всем! Идеи с массивом и while очень хорошие!


 
Knoxville   (2005-03-02 18:51) [9]

palva:
Я знаю! Вот почему и спрашиваю.
Вобщем спасибо всем! Идеи с массивом и while очень хорошие!



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

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

Наверх




Память: 0.48 MB
Время: 0.037 c
14-1109358972
Fin
2005-02-25 22:16
2005.03.20
Интернет пейджеры


3-1108531575
Laymer
2005-02-16 08:26
2005.03.20
Получить список таблиц


14-1109503478
Чеширский_Кот
2005-02-27 14:24
2005.03.20
Объявление: Ищу компонент


3-1108740146
Bogdan
2005-02-18 18:22
2005.03.20
Одинаковые записи


14-1109682820
Ирина
2005-03-01 16:13
2005.03.20
Знак радиации