Простой вопрос по С(закрыто)

laptew

 
 void randomize 
{
srandunsigned)time(NULL;
}

int random(int num)
{
int n=rand;
returnn+1)*num/(RAND_MAX+1;
}

main
{
int n,t;

for(n=0;n<100;n++)
{
randomize;
t=random(10);
printf("%d\n",t);
}
}

Выдается сто раз одно и то же число, сгенерированное случайно.
В чем дело? Что нужно поменять для генерации 100 чисел?

Oper

Слишком маленькое кол-во итераций в цикле.
Все дело в том, что time выдает время в секундах.

void randomize
{
srandunsigned)time(NULL;
}

int random(int num)
{
int n=rand;
returnn+1)*num/(RAND_MAX+1;
}

main
{
int n,t;
randomize;

for(n=0;n<100;n++)
{
t=random(10);
printf("%d\n",t);
}
}

laptew

а, т.е. просто randomize надо сделать вне цикла и 1 раз. Вроде понял, спс

Oper

помимо этого у тебя не самый лучший выбор зерна рандомизации
1 секунда все же это очень много.
Оставить комментарий
Имя или ник:
Комментарий: