我需要创建一个程序,其中1到100之间的随机数放置在3D数组的每个维中。这些数组的大小各不相同,因此在执行时只遇到崩溃。用一维数组进行小规模尝试,并使其正常工作。似乎不能大规模翻译。我的代码到目前为止...需要在三维数组中插入1-100的随机数
int const STOCK_AMOUNT = 1000, DAY_AMOUNT = 366, TIME_AMOUNT = 480;
int randomGenerator();
void randomInsert(int array0[DAY_AMOUNT][TIME_AMOUNT][STOCK_AMOUNT]);
int main()
{
int cube[DAY_AMOUNT][TIME_AMOUNT][STOCK_AMOUNT];
srand((unsigned)time(0));
randomInsert(cube);
return 0;
}
void randomInsert(int array0[DAY_AMOUNT][TIME_AMOUNT][STOCK_AMOUNT])
{
for (int count1 = 0; count1 < DAY_AMOUNT; count1++)
{
for (int count2 = 0; count2 < TIME_AMOUNT; count2++)
{
for (int count3 = 0; count3 < STOCK_AMOUNT; count3++)
{
int randomGenerator();
array0[count1][count2][count3] = randomGenerator();
cout << endl;
}
}
}
}
int randomGenerator()
{
int randNum;
int lowerLimit = 1;
int upperLimit = 100;
randNum = (rand() % upperLimit) + lowerLimit;
return randNum;
}
你的内部循环可能不需要cout语句。 (366,000 * 480换行!)而且,当你在这里时,请描述你认为运行程序的输出应该是什么? –
同样在内部循环中,您不需要转发声明randomGenerator()函数,该函数已在代码顶部完成 –
,因此在阅读某些注释和进一步询问professor.stock_amount = 100后数组太大了day_amount = 50 time_amount = 8。基本上是一个olap立方体[Stock_amount] [day_amount] [time_amount] – SCSUjer