int main()
{
srand(time(0));
for(int i = 0; i < 50;i++)
{
cout << (double)rand() << endl;
}
return 0;
}
Генерация случайных чисел
Доброе время суток! У меня такая проблема: необходимо сгенерировать double числа, а стандартный rand генерит только unsigned int
(double)rand() ;)
Код:
А он все равно генерит только целые цисла, к тому же как задать определенный промежуток для генерации
X=(double)(random(M))/M;
где M - основание ГСЧ (с помощью него можно задать количество знаков после запятой)
Код:
double MyRand(double min, double max) {
return (double)rand()/(double)RAND_MAX*(max-min)+min;
}
return (double)rand()/(double)RAND_MAX*(max-min)+min;
}
rjx спасибо, выручил, теперь все работает:)
Только имейте в виде, что rand() - "грязный" генератор случайных чисел. Т.е. с его помощью генерируются "случайные" числа, которые через определенный промежуток будут повторяться. Есть генераторы, у которых этот промежуток гораздо больше.
val=rand()%100;
А как такой вариант?