将 2D 数组随机数生成器传递到主C++
Passing 2D array Random Number Generator into main with C++
大家好,我对C++很陌生,想知道你们是否可以帮助我。现在我只是按照书本和老师告诉我的去做,所以有些东西可能看起来不同。
我想做的是让我的空随机生成器将数字放入我的 2D 数组中,然后它进入 main。然后我让它进入我的显示功能,但由于某种原因我无法让它正常工作。你们能帮帮我吗?
编辑:好的,我认为这与我的随机数生成器没有将数字放入数组但不确定原因有关。由于我的数字生成器可以使用 1D 数组查找。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
//Globral Varaibles Must be on top
const int max = 100;
const int min = 1;
const int COL = 4;
const int Rows = 3;
//Functions
void Population(int Array[][COL], int size);
void Show(const int Array[][COL], int max);
int main()
{
int a[3][4];
Population(a, Rows);
Show(a, Rows);
}
void Population( int Array[][COL], int size)
{
for (int index = 0; index < Rows; index++)
{
for (int Count = 0; Count < COL; Count++)
{
unsigned seed = time(0);
Array[index][Count] = (rand() % (max - min + 1)) + min;
}
}
}
void Show(const int a[][COL], int Rows)
{
for (int i = 0; i < Rows; i++)
{
for (int J = 0; J < COL; J++)
{
cout << setw(4) << a[i][J] << endl;
}
}
cout << endl;
cout << endl;
}
每次在 population() 中输入第二个 for 循环时,您似乎都在播种随机数生成器。 您应该只在程序开头附近播种一次随机数生成器。
尝试从 population() 中删除种子行,改用
srand(time(NULL));
在 main() 的开头
啊,我想出了问题。我一直错误地将显示为一个巨大的列,而不是将其分为行和列。
我必须在a[i][J]部分之后留出一个小空间,以便可以将其分成行和列。
cout << setw(4) << a[a][J] << " ";
That_Knight_Guy感谢您的建议。现在我的生成器终于放出了随机数。
相关文章:
- 2D数组来自文本输入,中间有空格
- 将值指定给向量(2D)的向量中的某个位置
- 如何使用用户输入在C++中正确填充2D数组
- 如何在C++中检查2D数组中负值的输入验证
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 在 2D 向量中使用第三个 [ ] 有什么意义?
- 四边形的 2D 旋转
- 打印第二列时的2d字符矢量打印空间
- 如何将以逗号和空格分隔的整数读取到 2D 数组中?
- 如何在C++函数中声明静态 2D 数组?
- 我是 C++ 的初学者,我想知道如何在 2D 矢量中获取重复值
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- opengl glBegin(GL_LINES) 和 glBegin(GL_POINT) 在 2D 中不可视化点矢量
- 在C++中迭代 2D 容器的最干净方法
- 如何引用 2D 指针?
- 如何在 C++ 中使用它的构造函数初始化 unique_ptrs 的 2D 向量?
- C++动态安全 2D 交错阵列
- 如何在C++或OpenCV子矩阵中的2D子向量上使用OpenACC?
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 将 2D 推力::d evice_vector 复矩阵传递给 CUDA 内核函数