21xrx.com
2024-09-19 09:42:22 Thursday
登录
文章检索 我的文章 写文章
C++ 生成不重复随机数组
2023-06-26 16:01:28 深夜i     --     --
C++ 不重复 随机数组 生成

C++是一门强大的编程语言,并且在计算机科学领域中很常见。在这门语言中,你可以生成不重复随机数组。这里我们用一个简单的例子讲解如何实现。

首先,你需要定义一个数组,它的长度是固定的。比如说,我们要生成一个长度为10的不重复随机数组。定义代码如下:


int arr[10];

然后,你需要定义一个函数来生成随机数,并且向数组中添加元素。在这个函数中,你需要使用rand()函数生成随机数,具体代码如下:


#include <cstdlib>

#include <ctime>

void generateRandomArray(int arr[], int length) {

  srand(time(NULL));

  for (int i = 0; i < length; i++) {

    int randomNum = rand() % 100 + 1;

    bool isDuplicate = false;

    for (int j = 0; j < i; j++) {

      if (arr[j] == randomNum)

        isDuplicate = true;

        break;

      

    }

    if (isDuplicate)

      i--;

     else {

      arr[i] = randomNum;

    }

  }

}

在这个函数中,我们首先使用srand()函数来初始化随机数生成器,确保每次生成的随机数都是不同的。然后使用for循环来生成指定数量的随机数,并且检查这个随机数是否在数组中已经存在。如果存在,那么就将这个循环索引减一,重新生成一个新的随机数。否则,就将这个随机数添加到数组中。

现在,你可以调用这个函数来生成一个长度为10的不重复随机数组:


generateRandomArray(arr, 10);

最后,你可以使用以下代码将随机数组输出到控制台上:


for (int i = 0; i < 10; i++) {

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

}

这是C++生成不重复随机数组的一个简单例子。你可以根据自己的需求更改代码来生成更长或者不同范围内的随机数组。

  
  

评论区

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