0

Как писать от и до в rand

Как сделать чтобы в rand было к примеру от 0 до 5, объясните как это работает rand()%/* 0-5 */;

14th Dec 2016, 8:18 PM
ernwest
ernwest - avatar
2 ответов
+ 1
Есть несколько способов, эти самые популярные 1) rand() * (max - min) + min; 2) rand() % (int)(max - min + 1) + min В вашем случае min = 0, max = 5 целые числа, и приводить к int не имеет смысла: rand() % (5 - 0+ 1) + 0
14th Dec 2016, 9:23 PM
Vladimir Honcharenko
Vladimir Honcharenko - avatar
+ 1
Перед началом пропиши в main вот это: srand(time(0)) это сделает число по настоящему случайным (если в коде имеется #include <cstdlib> и #include <ctime> естесственно). Дальше идет сама структура rand, выглядит так: минимальное значение + (rand()% максимальное значение) Например сделаем число от 0 до 5: 0 + (rand()% 5)
11th Jan 2017, 6:04 PM
Seebzx
Seebzx - avatar