用C++实现二维数组随机数发生器 嗨,我对C++很陌生,想知道你们是否能帮助我。现在我只是照本宣科,老师让我做的事情可能会让一些东西看起来不一样
我想做的是让我的void随机生成器将数字放入我的2D数组,然后它进入main。然后我让它进入我的显示功能,但由于某种原因,我不能让它正常工作。你们能帮帮我吗 编辑:好吧,我想这与我的随机数生成器没有将数字放入数组有关,但不确定原因。因为我的数字生成器使用1D数组进行查找用C++实现二维数组随机数发生器 嗨,我对C++很陌生,想知道你们是否能帮助我。现在我只是照本宣科,老师让我做的事情可能会让一些东西看起来不一样,c++,arrays,random,multidimensional-array,C++,Arrays,Random,Multidimensional Array,我想做的是让我的void随机生成器将数字放入我的2D数组,然后它进入main。然后我让它进入我的显示功能,但由于某种原因,我不能让它正常工作。你们能帮帮我吗 编辑:好吧,我想这与我的随机数生成器没有将数字放入数组有关,但不确定原因。因为我的数字生成器使用1D数组进行查找 #include <iostream> #include <cstdlib> #include <ctime> #include <iomanip> using namespac
#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;
}
每次在填充中输入第二个for循环时,您似乎都在播种您的随机数生成器。在一个程序中,您应该只在靠近开始的地方对随机数生成器进行一次种子设定 尝试从种群中删除种子系,而使用
srand(time(NULL));
在你主要的开始时,啊,我解决了这个问题。我一直误以为显示的是一个巨大的列,而不是分为行和列 我必须在a[I][J]部分后面有一个小的空间,以便可以将其分为行和列
cout << setw(4) << a[a][J] << " ";
那个骑士谢谢你的建议。现在我的生成器终于输出了随机数 这些逗号在干什么?你能从你的工具中选择代码并在你的帖子中重新粘贴代码吗。然后选择代码并按control+k@goedkoop:很明显,它们不是逗号,而是用来分隔代码的记号。一个好的编辑应该是把它们编辑掉,而不是把它们留在那里,现在它们的格式是代码。。。不幸地robo审查员接受了您的编辑,没有发表任何评论。很抱歉,我们对如何使编码与该格式兼容感到困惑。您可以忽略未签名的see行,因为我认为它可以帮助我更改数字,但现在它只是显示60至于在主机上安装数字发生器。我不能这样做,因为老师希望所有的代码都有不同的功能。一个是生成器,另一个是显示函数。没关系,我把种子行移到main中,让它打出随机数,但它仍然对一列这样做。它会把它放进柱子里。