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

    +16

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for(int i=0;i<World::size;i++)
    {
        for(int u=0;u<World::size;u++)
        {
                    //Задаётся зерно для генерации случайных чисел
            srand(GetTickCount()*i*u);                           
                    //Задаются случайные значения всем точкам от 0*0.1-10, до 100*0.1-10
            World::data[i][u]=(rand()%100)*0.1f-10.0f;                            
        }
    }

    http://habrahabr.ru/post/183986/

    Запостил: Abbath, 20 Июня 2013

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

    • Стоит ли работать за капитана Очевидность или достаточно написать, что так пишут только пернатые?

      Во-первых, слово «случайные» нужно выкинуть, ибо аргумент srand здесь в известной степени предсказуем, а использование srand перед генерацией каждого числа может убить равномерность распределения.

      Во-вторых, водоплавающий здесь вступил раньше времени, а поэтому страдает и точность границ, и скорость вычисления.
      Ответить
    • Почему i & u, а не i & j или u & v.
      Ответить
    • srand(rand()) не хватает.
      Ответить
    • А я в качестве случайного числа, которое будет одинаковым при каждом обходе масива, у себя брал что-то типа ((i*i*i+j*j+i*j) div 10 mod 100)
      Ответить

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