1. C++ / Говнокод #19361

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    #define RandomNumbers_count 16
    static unsigned char RandomNumbers[] =
    {
    	7, 167, 203, 54,
    	32, 78, 164, 112,
    	237, 182, 75, 96,
    	135, 13, 42, 27
    };
    static unsigned char CurrUrandPos = 0;
    void getURandom(void *buf, size_t size)
    {
    	if (size == 0)
    		return;
    	for (size_t i = 0; i < size; i++)
    	{
    		((char*)buf)[i] = RandomNumbers[CurrUrandPos];
    		CurrUrandPos = (CurrUrandPos + 1) % RandomNumbers_count;
    	}
    }

    Генератор псевдослучайных чисел: избавляемся от платформозависимого кода.

    Запостил: tar_gz, 28 Января 2016

    Комментарии (4) RSS

    • // Chosen by fair dice roll. Guaranteed to be random.
      Ответить
    • Unsigned char присваивают в char... Не по феншую.

      > #define RandomNumbers_count 16
      А если я ещё одно число в массив добавлю?
      Ответить
      • То тогда собъёшь случайность! Это же специально подобранные случайные числа.
        Ответить

    Добавить комментарий