我需要創建一個程序,其中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