Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
konctantin777
Отправлено: 17 Сентября, 2020 - 11:17:02
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Здравствуйте. В диалоге в поле edit вводиться число от которого надо получить рандомное число в указанных %. Т.е. функция получает число 100, а должна выдать рандом от 80 до 120 (при разбросе 20%) Что то не работает... Посмотрите ?

CODE:
n=(Рандом_число(formatsn(text_edit0[5]), 50))*1000;
textout(50, sx, sy, "П. п. забр. "+n, 1);
text_static0[1]="П. п. забр. "+n; sleep(20);
pause(n);

//получить рандом число

function Рандом_число(int chislo, int razbros)
{

//chislo
//razbros

int n1; int n2; int rand_itog=0;
n1=chislo-razbros%;
n2=chislo+razbros%;

rand_itog=rand(n1, n2);
return rand_itog;

}
 
 Top
Zireael
Отправлено: 17 Сентября, 2020 - 11:22:45
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
messagebox(Рандом_число(100, 10)); // число +-10%

function Рандом_число(int chislo, int razbros)
{
return rand(chislo - chislo * razbros / 100, chislo + chislo * razbros / 100);
}
 
 Top
ivantu
Отправлено: 17 Сентября, 2020 - 11:33:37
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Пока печатал, опередили ))
 
 Top
konctantin777
Отправлено: 17 Сентября, 2020 - 11:47:32
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Спасибо ! Всё гениальное просто )
 
 Top
konctantin777
Отправлено: 13 Февраля, 2021 - 18:09:55
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 Zireael пишет:
messagebox(Рандом_число(100, 10)); // число +-10%

function Рандом_число(int chislo, int razbros)
{
return rand(chislo - chislo * razbros / 100, chislo + chislo * razbros / 100);
}


А как сделать, что с 1 не вылетал ?
CODE:
messagebox(Рандом_число(1, 10)); // число +-10%

function Рандом_число(int chislo, int razbros)
{
return rand(chislo - chislo * razbros / 100, chislo + chislo * razbros / 100);
}
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 18:14:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
messagebox(Рандом_число(1, 10)); // число +-10%

function Рандом_число(int chislo, int razbros)
{
int x1 = chislo - chislo * razbros / 100;
int x2 = chislo + chislo * razbros / 100;
return rand(x1, x2);
}
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 18:18:21
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 konctantin777 пишет:
А как сделать, что с 1 не вылетал ?

rand принимает только целые числа. Привести к int
CODE:



int a=chislo - chislo * razbros / 100;
int b=chislo + chislo * razbros / 100;
return rand(a, b);


 
 Top
konctantin777
Отправлено: 13 Февраля, 2021 - 19:23:16
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Спасибо !
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by