Как заставить функцию rand() выводить числа от 0 до 9?
{
S=rand()%11;
}
пытаюсь вот так вот, но получаются числа слишком большие.
как сделать, чтобы генерируемые числа были от 0 до 9?
Код:
#include <iostream>
#include <ctime>
int RangedRandDemo( int range_min, int range_max);
int main()
{
/*нужно чтобы числа генерировались случайно каждый раз
т.е. не были одни и те же при генерации*/
srand((unsigned int)time(NULL));
/*от 0 до 9*/
int num = rand()%10;
/*из любого диапозона*/
int rangnum = RangedRandDemo(10,100);
return 0;
}
int RangedRandDemo( int range_min, int range_max)
{
int u = (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
return u;
}
#include <ctime>
int RangedRandDemo( int range_min, int range_max);
int main()
{
/*нужно чтобы числа генерировались случайно каждый раз
т.е. не были одни и те же при генерации*/
srand((unsigned int)time(NULL));
/*от 0 до 9*/
int num = rand()%10;
/*из любого диапозона*/
int rangnum = RangedRandDemo(10,100);
return 0;
}
int RangedRandDemo( int range_min, int range_max)
{
int u = (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
return u;
}
Код:
S = rand() % 10
мурмур читаем статью по ссылке ниже
вот так гораздо меньше писанины...
Код:
int a;
arand(time(0));//подрубаем
//генерим от 0 до 9
a=rand()%10;
//генерим от 5 до 14
a=rand()%10+5;
//тоже самое: генерим от 5 до 14 (более понятная запись)
a=(rand()%10)+5;
arand(time(0));//подрубаем
//генерим от 0 до 9
a=rand()%10;
//генерим от 5 до 14
a=rand()%10+5;
//тоже самое: генерим от 5 до 14 (более понятная запись)
a=(rand()%10)+5;
а помойму в самый раз. В MSDN как написано так и пишу, то что вы сократили не значит, что лучше :)