我正在编写一个生成一组随机数字的函数。我可以将数字打印为单独的整数,但我尝试将数字放入数组中并返回该数组,以便我可以将其分配给另一个函数中的另一个空数组,以便我可以操作该数组。我到处找,但找不到符合我标准的东西。
我的功能:
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] << " ";
}
}
这个函数只打印数字,但我希望它返回它,以便我可以操作它。我尝试使用指针,但没有成功或者我没有做对。
我认为在运行时创建数组的最佳方法是使用动态数组
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] << " ";
}
}