尝试在 C++ 中返回包含随机数的数组

问题描述 投票:0回答:1

我正在编写一个生成一组随机数字的函数。我可以将数字打印为单独的整数,但我尝试将数字放入数组中并返回该数组,以便我可以将其分配给另一个函数中的另一个空数组,以便我可以操作该数组。我到处找,但找不到符合我标准的东西。

我的功能:

void generateRandomNumbers(int lower, int upper){
int n = 5;
int random[n];
int tempArr = random[n];


srand((unsigned) time(NULL));

for (int i = 0; i < n; i++){
    random[i] = lower + (rand() % upper);

    cout << random[i] << " ";
}

}

这个函数只打印数字,但我希望它返回它,以便我可以操作它。我尝试使用指针,但没有成功或者我没有做对。

c++ random clion srand
1个回答
0
投票

我认为在运行时创建数组的最佳方法是使用动态数组

    int* arr = new int[n];

但就我个人而言,我会使用一个像向量一样动态得多的容器,并将所需随机数的大小作为函数的参数给出

void generateRandomNumbers(int lower, int upper, int size, vector<int> &randVec) {
  srand((unsigned)time(NULL));

  for (int i = 0; i < size; i++) {
     randVec.push_back(lower + (rand() % upper));
  }
}

int main() {
  std::vector<int> vect;
  generateRandomNumbers(1, 20, 5, vect);

  for (int i = 0; i < 5; i++) {

    cout << vect[i] << " ";
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.