Like-all 23.11.2011 10:47 rzkPhone

Сиплюсплюсач, подскажи, каким образом можно генерить _различные_ рандомные числа при запуске нескольких инстансов одного приложения? int somenumber = rand() всегда выдаёт одно и то же число. Знаю, вопрос тупой, но ответа я пока не нашёл :(

1. BillyIII 23.11.2011 10:48

srand, нет?

3. analizer 23.11.2011 10:48 mcabber

srand(time(NULL));

4. Like-all 23.11.2011 10:52 rzkPhone

Всем спасибо, разобрался.

5. kuroneko 23.11.2011 11:28 Psi+

Если под шипбошс, то лучше так:

FILETIME ft;
GetSystemTimeAsFileTime(&ft);
srand(hash_u32(ft.dwHighDateTime) + hash_u32(ft.dwLowDateTime));

/**
* http://www.concentric.net/~Ttwang/tech/i...
*/
unsigned long hash_u32(unsigned long a)
{
a = (a + 0x7ed55d16) + (a << 12);
a = (a ^ 0xc761c23c) ^ (a >> 19);
a = (a + 0x165667b1) + (a << 5);
a = (a + 0xd3a2646c) ^ (a << 9);
a = (a + 0xfd7046c5) + (a << 3);
a = (a ^ 0xb55a4f09) ^ (a >> 16);
return a;
}

Для параноиков.

Do you really want to delete ?