无法弄清楚用随机数c ++填充数组的函数
Can't figure out the function for filling array with random numbers c++
所以我正在尝试创建一个函数 randBetween 来生成随机数,然后用这些数字填充数组
当我尝试将语句移入函数时遗漏某些内容的问题
#include <iostream>
#include <ctime>
using namespace std;
void fillArray(int arr[], int size, int min, int max);
int randBetween(int max, int min);
void printArray(int arr[], int size);
const int size = 10;
int main()
{
int arr[size];
int min = -100;
int max = 100;
srand(time(NULL));
fillArray(arr, size, min, max);
printArray(arr, size);
}
int randBetween(int max, int min)
{
int num = (rand() % (max - min + 1)) + min;
return num;
}
void fillArray(int arr[], int size, int min, int max)
{
for (int i = 0; i < size; i++)
{
int num = 0;
randBetween(min, max);
//num = ( rand () % (max - min + 1)) + min;
arr[i] = num;
}
}
void printArray(int arr[], int size)
{
for (int count = 0; count < size; count++)
{
cout << arr[count] << "\n";
}
}
如果我不注释掉 //num = ( rand () % (max - min + 1)) + min;它在没有功能的情况下完美运行
但是我必须在函数中使用它,我不知道我做错了什么;
我尝试更改参数、更改位置但没有任何帮助
将 num = ( rand () % (max - min + 1)) + min;
替换为 randBetween(min, max);
缺少一些重要的东西:您没有在第二种情况下设置 num
变量。尽管您确实在 randBetween
函数中设置了 num
,但这实际上不是同一个变量;它是在 randBetween
内部定义的,因此在它外部无法访问,并且不会影响 fillArray
内部的 num
。您可以通过使用此行设置外部 num
来解决此问题:
num = randBetween(min, max);
而不仅仅是 randBetween(min, max);
.
所以我正在尝试创建一个函数 randBetween 来生成随机数,然后用这些数字填充数组
当我尝试将语句移入函数时遗漏某些内容的问题
#include <iostream>
#include <ctime>
using namespace std;
void fillArray(int arr[], int size, int min, int max);
int randBetween(int max, int min);
void printArray(int arr[], int size);
const int size = 10;
int main()
{
int arr[size];
int min = -100;
int max = 100;
srand(time(NULL));
fillArray(arr, size, min, max);
printArray(arr, size);
}
int randBetween(int max, int min)
{
int num = (rand() % (max - min + 1)) + min;
return num;
}
void fillArray(int arr[], int size, int min, int max)
{
for (int i = 0; i < size; i++)
{
int num = 0;
randBetween(min, max);
//num = ( rand () % (max - min + 1)) + min;
arr[i] = num;
}
}
void printArray(int arr[], int size)
{
for (int count = 0; count < size; count++)
{
cout << arr[count] << "\n";
}
}
如果我不注释掉 //num = ( rand () % (max - min + 1)) + min;它在没有功能的情况下完美运行 但是我必须在函数中使用它,我不知道我做错了什么; 我尝试更改参数、更改位置但没有任何帮助
将 num = ( rand () % (max - min + 1)) + min;
替换为 randBetween(min, max);
缺少一些重要的东西:您没有在第二种情况下设置 num
变量。尽管您确实在 randBetween
函数中设置了 num
,但这实际上不是同一个变量;它是在 randBetween
内部定义的,因此在它外部无法访问,并且不会影响 fillArray
内部的 num
。您可以通过使用此行设置外部 num
来解决此问题:
num = randBetween(min, max);
而不仅仅是 randBetween(min, max);
.