Что я делаю не так с srand для построения не повторяющегося случайного массива в C ++?

Я пытаюсь построить случайный массив длины (size1) . Способ, который я исследовал для этого, состоит в том, чтобы иметь два отдельных массива, один для моих случайных чисел и вторичный массив «проверки», чтобы убедиться, что числа не повторяются. В моем коде они помечены (перетасовать) и (посетить) соответственно. count1 - это целое число для подсчета в моем цикле for.

Я включил следующее в различные комбинации, и это не сработало.

    #include <ctime>
    #include <time.h>
    #include <cstdlib>

Код, с которым я борюсь, выглядит следующим образом:

    srand((unsigned)time(0));

for (count1 = 0; count1 < size1; count1++)
{
    num = (rand()%size1);
        if (visit[num] == 0)
        {
            visit[num] = 1;
            shuffle[count1] = num;
        }
}
0
задан Brent 28 November 2011 в 19:31
поделиться