为数组元素生成随机数

generating random numbers for array elements

本文关键字:随机数 数组元素      更新时间:2023-10-16

我在C++中生成二进制随机数时遇到问题。我想创建一个数组,每个元素都包含二进制形式的随机数。我想将元素异或在一起。这是我的代码

void Msg::setXOR(double Code)
{
  int array[30];
  srand ( time(0) );
  for(int j = 0;j<30;j++)
  {
    i = rand();         
    array[j]=i
    double x = array[j]^ array[j+1]^ array[J+2];
    code = x ;
    this -> code_var = code
  }
}

它不起作用,也不会产生二进制随机数。谁能帮我如何解决它?

std::default_random_engine generator;
std::uniform_int_distribution<int> distribution;
auto generatef = std::bind(distribution,generator);
std::array<int,30> array;
std::generate(array.begin(), array.end(), generatef);
double x = std::accumulate(array.begin(), array.end(), 0, std::bit_xor<>);

您没有将生成的随机数字存储在数组中。

int array[30];
srand ( time(0) );
int x=0;
for (int j = 0;j<30;j++)
{
   array[j]=rand();
   x ^= array[j];
}
return x;