用指定范围内的随机数填充数组(C++)
Fill array with random numbers within a specified range (C++)
我正在编写代码,用 0 到 9 范围内的随机数填充大小为 10 个整数的数组。我的代码有效,但它用完全相同的随机整数填充所有 10 个槽,是否存在一种随机化每个数组项的整数的方法?
这是我的代码:
#include <iostream>
#include <ctime>
#include <time.h>
using namespace std;
void initialize(int arr[], int size);
int main(){
const int SIZE = 10;
int myList[SIZE];
initialize(myList, SIZE);
return 0;
}
void initialize(int arr[], int size){
srand(time(0));
int random = (rand() % 9);
for(int i = 0; i < size; i++){
arr[i] = random;
}
for(int j = 0; j < size; j++){
cout<<arr[j]<< endl;
}
}
您在每次初始化中都使用了完全相同的整数。 for循环应该是这样的
for(int i = 0; i < size; i++){
arr[i] = (rand() % 10);
}
如果你想在范围内包括 9,你也应该写 %10。基于随机数生成的公式。
随机 = (rand() % (maxValue - minValue +1) +minValue;
for(int i = 0; i < size; i++){
arr[i] = (rand() % 10);
}
我正在编写代码,用 0 到 9 范围内的随机数填充大小为 10 个整数的数组。我的代码有效,但它用完全相同的随机整数填充所有 10 个槽,是否存在一种随机化每个数组项的整数的方法?
这是我的代码:
#include <iostream>
#include <ctime>
#include <time.h>
using namespace std;
void initialize(int arr[], int size);
int main(){
const int SIZE = 10;
int myList[SIZE];
initialize(myList, SIZE);
return 0;
}
void initialize(int arr[], int size){
srand(time(0));
int random = (rand() % 9);
for(int i = 0; i < size; i++){
arr[i] = random;
}
for(int j = 0; j < size; j++){
cout<<arr[j]<< endl;
}
}
您在每次初始化中都使用了完全相同的整数。 for循环应该是这样的
for(int i = 0; i < size; i++){
arr[i] = (rand() % 10);
}
如果你想在范围内包括 9,你也应该写 %10。基于随机数生成的公式。 随机 = (rand() % (maxValue - minValue +1) +minValue;
for(int i = 0; i < size; i++){
arr[i] = (rand() % 10);
}