2014-03-31 114 views
0
int main() 
{ 

    srand(time(NULL)); 

    int ourArray [3][5] = {0}; 

    for (int i = 0; i < 3; i++) 
    { 
     for (int j = 0; j < 5; j++) 
     { 
      ourArray [i][j] = rand() % 30; 
     } 
    } 

    return 0; 
} 

這是迄今爲止我所擁有的,但我不太確定從這裏開始到哪裏。我(想)在這裏發生的是數組的第一個位置在0,0,並生成一個數字。然後到1,1和2,2等等。我不確定該從哪裏出發,並且我確信有一種更有效的方法可以一次填充整行或一列。使用隨機整數填充2D陣列

此外,我的編譯器不會允許我像通常一樣使用cout或endl嗎?它堅持我使用std :: cout,我只是想知道爲什麼。

回答

1

我(想)在這裏發生的是它在數組的第一個位置0,0併產生一個數字。然後到1,1和2,2等等。

陣列位置被填入順序是:

i = 0, j = 0,4 

0, 0 
0, 1 
0, 2 
0, 3 
0, 4 

i = 1, j = 0,4 

1, 0 
1, 1 
1, 2 
1, 3 
1, 4 

i = 2, j = 0,4 

2, 0 
2, 1 
2, 2 
2, 3 
2, 4 

沒有任何更有效的方式,以填補隨機數整個陣列。

爲了使用coutendl,你必須包括iostream在你的文件:

#include <iostream> 

然後,您可以用std::前綴,std::coutstd::endl使用它們。如果您不希望使用前綴std::,則必須指出您正在使用std命名空間:

using namespace std;