注册 登录
编程论坛 C++教室

如何调用随机数组函数生成两个结果不同的数组

moox 发布于 2018-02-17 14:31, 1557 次点击
#include <iostream>
#include<ctime>
#include<cstdlib>
using namespace std;

int* generateArray(const int &len,const int &leftRange,const int &rightRange)
{
    srand((unsigned)time(NULL));
    int *arr=new int[len];
    for(int i=0;i<len;i++)
        arr[i]=rand()%(rightRange-leftRange+1)+leftRange;
    return arr;
}
void print(int *arr,int len)
{
    for(int i=0;i<len;i++)
        cout<<arr[i]<<" ";
    cout<<endl;
}
int main()
{
    int *arr1=generateArray(5,1,10);
    print(arr1,5);
    int *arr2=generateArray(6,1,10);
    print(arr2,6);
    return 0;
}
结果:
6 8 5 3 4
6 8 5 3 4 1

问题:两次调用generateArray函数结果生成的随机数组是一样的,如何生成不同的两个随机数组?
2 回复
#2
rjsp2018-02-17 22:38
srand一次就行了,否则因为速度太快,种子一样
#3
moox2018-02-22 13:06
回复 2楼 rjsp
谢谢,明白了
1