21xrx.com
2024-12-22 22:21:38 Sunday
登录
文章检索 我的文章 写文章
C++生成不重复的随机数组
2023-07-09 18:54:22 深夜i     --     --
C++ 生成 不重复 随机数组

在实际的编程中,我们经常需要使用随机数,而生成不重复的随机数组更是很常见的需求。那么,如何使用C++生成不重复的随机数组呢?接下来,将介绍一种简单实用的方法。

首先,我们需要使用C++标准库中的随机数生成器rand()。这个函数每次调用会生成一个0到RAND_MAX之间的随机整数。

接着,我们需要定义一个数组来存储生成的随机数,并用一个循环来生成不重复的随机数。

具体方法如下:

1.定义一个数组,例如int arr[10]。

2.使用rand()函数生成一个随机数。

3.循环遍历数组,判断这个随机数是否已经存在于数组中。如果存在,则重新生成一个随机数,直到这个随机数不再重复为止。

4.将这个不重复的随机数存入数组中。

5.重复步骤2到4,直到数组中存满了10个不重复的随机数。

下面是具体的代码实现:


#include<iostream>

#include<cstdlib>

using namespace std;

int main()

{

  const int n=10; //数组大小为10

  int arr[n]={0}; //初始化数组

  int index=0;  //数组下标

  while(index<n) //循环生成不重复的随机数

  {

    int num=rand()%100; //生成0到99之间的随机数

    bool flag=true;   //标记是否重复

    for(int i=0;i<index;i++)

    {

      if(arr[i]==num) //判断是否重复

      

        flag=false;

        break;

      

    }

    if(flag) //如果不重复,则存入数组中

    {

      arr[index]=num;

      index++;

    }

  }

  //输出数组

  for(int i=0;i<n;i++)

  {

    cout<<arr[i]<<" ";

  }

  cout<<endl;

  return 0;

}

通过这种简单的方法,我们可以轻松生成不重复的随机数组。需要注意的是,在使用rand()函数时,请先调用srand()函数初始化随机数生成器,以避免每次生成的随机数相同。另外,在实际应用中,我们还需要对数组内存是否越界做出判断,以确保程序的稳定性和健壮性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复