Главная страница
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.048 c
1-1109844534
leonidus
2005-03-03 13:08
2005.03.20
Toolbar как в Word`е XP


14-1109861227
YurikGL
2005-03-03 17:47
2005.03.20
Карта России


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


1-1110003011
Эли
2005-03-05 09:10
2005.03.20
проблемы с модальной формой


6-1105999407
Новичек
2005-01-18 01:03
2005.03.20
Информация от сервера.