Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Пример на минус


Автор: Михалыч 14.12.2016, 19:56
Делаю пример на вычитание
Код

rand:=100;//числа в пределах
 repeat
 randomize;
 a:=random(rand);
 b:=random(rand);
 until a>b;
d:=a-b;
 repeat
 randomize;
c:=random(rand);

 until d>c;
a1:=IntToStr(a);
b1:=IntToStr(b);
c1:=IntToStr(c);
Memo1.Lines.Add(a1+'-'+b1+'-'+c1+'=');


Все хорошо получается , но вот только в переменной с генерируется маленькое число от 0 до 3 и не более
Получается такие примеры:  95-7-1 , 68-14-0 , 46-18-2 и т.д.
Как сделать чтобы был пример полноценный, типа:  86-24-43

Автор: Garmahis 15.12.2016, 09:05
А зачем каждый раз вызывать randomize? Вызови его один раз после rand:=100;
Если не поможет используй RandSeed.

Автор: Rennigth 8.1.2017, 14:01
1. Действительно Randommize делай только один раз. 
2. На счет не больше 3 это врятли, но это не важно...
3. Вместо 
Код

repeat
 randomize;
 c:=random(rand);
 until d>c;

мне кажется нужно как-то так
Код

 c:=random(d);


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)