21xrx.com
2024-12-27 21:18:12 Friday
登录
文章检索 我的文章 写文章
C++随机生成二维数组的实现方法
2023-07-05 22:39:30 深夜i     --     --
C++ 随机生成 二维数组 实现方法

在C++编程中,经常需要随机生成二维数组来进行数据处理和算法的实现。而如何快速、简单地生成一个随机的二维数组呢?这里提供一种简单的实现方法,供大家参考。

1.先定义一个函数,命名为Dim2Array,它的输入参数包括二维数组的横向和纵向维度,以及数据类型,如下所示:

template

T** Dim2Array(int nRow, int nCol)

这个函数返回一个T**类型的数组,表示指向类型为T的二维数组的指针。

2. 在函数中,首先使用new运算符为二维数组的第一维(也就是行)动态分配内存,如下所示:

T** arr = new T*[nRow];

3. 然后,使用循环动态地为二维数组的第二维(也就是列)分配内存,如下所示:

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

{

  arr[i] = new T[nCol];

}

这里使用了nRow个new运算符,每个运算符分别用来为数组的一行分配内存。

4. 最后,使用随机函数来填充数组,并返回数组指针,如下所示:

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

{

  for (int j = 0; j < nCol; j++)

  {

    arr[i][j] = static_cast (rand() % 100);

  }

}

return arr;

这里使用了rand()函数生成随机数,并取余100,以便生成范围在0~99之间的整数。

至此,我们就实现了一个简单的二维数组的生成函数,具体代码如下:

template

T** Dim2Array(int nRow, int nCol)

{

  T** arr = new T*[nRow];

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

  {

    arr[i] = new T[nCol];

  }

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

  {

    for (int j = 0; j < nCol; j++)

    {

      arr[i][j] = static_cast (rand() % 100);

    }

  }

  return arr;

}

使用这个函数,我们可以方便地生成一个随机的二维数组,代码如下:

int** arr = Dim2Array (3, 4);

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

{

  for (int j = 0; j < 4; j++)

  {

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

  }

  cout << endl;

}

通过这个函数的实现,我们可以轻松地快速生成一个指定大小的随机二维数组,为我们的编程工作提供了很大的便利。

  
  

评论区

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