how to create an array of non-repeated rand numbers

后端 未结 4 1141
时光取名叫无心
时光取名叫无心 2021-01-23 02:57

I would like to create a array having 21 values between 0 to 20.I would like them to be in random and at the same time non-repeated.

I know how to create a random number

4条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-23 03:00

    I was actually creating 2-dimensional array with values between 0 to 20. after refering to @Oli's ans. I wrote my answer:

    int arr[2][6] = {{0,1,2,3,4,5,6}, {7,8,9,10,11,12,13},{14,15,16,17,18,19,20}};
    void rearrange_num(int *p)
    {
      int temp = 0;
      for(int i = numRows -1 ; i > 0 ; i--)
      {
        for (int j = numCols-1;j>0; j--)
        {
              k = 0 + rand()/(RAND_MAX/(2-0+1)+1);
              l= 0 + rand()/(RAND_MAX/(6-0+1)+1);
              temp = p[i][j]; 
              p[i][j] = p[k][l];
              p[k][l] = temp;
        }
      }
    }
    

提交回复
热议问题