21xrx.com
2024-11-25 00:20:17 Monday
登录
文章检索 我的文章 写文章
C++如何对数组进行随机赋值
2023-07-08 14:10:08 深夜i     --     --
C++ 数组 随机 赋值 random库

C++作为一门强大的编程语言,在数组操作上提供了许多便利的方式。其中,对数组进行随机赋值是一种很常见的操作,本文将介绍几种方法。

第一种方法是使用rand()函数生成随机数,再通过循环来遍历数组并给每个元素赋值。具体代码如下:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main() {

  srand(time(0)); // 用当前时间作为随机数种子

  int arr[10];

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

    arr[i] = rand();

  }

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

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

  }

  return 0;

}

第二种方法是使用C++的随机数库,也就是 头文件中的一些类和函数,可以生成更高质量的随机数。下面是一个例子:


#include <iostream>

#include <random>

using namespace std;

int main() {

  random_device rd;

  mt19937 mt(rd()); // 以rd为种子生成随机数

  uniform_int_distribution<int> dist(0, 9); // 生成0~9之间的随机整数

  int arr[10];

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

    arr[i] = dist(mt);

  }

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

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

  }

  return 0;

}

具体来说,这个例子中使用的是mt19937这个生成器类,它使用一个32位整数作为种子,生成高质量的随机数。uniform_int_distribution dist(0, 9)则是一个分布器类,用于生成0~9之间的随机整数。

另外,需要注意的是,在使用C++的随机数库时,通常应该避免使用rand()函数,因为它的随机数质量很低,而且容易产生可预测的模式。

最后再给一个提示:在使用这些方法时,尽量使用头文件中已经定义好的类和函数,避免自己编写随机数生成代码,这样可以让代码更加简洁和可读。

  
  

评论区

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