2013-10-21 23 views
-3

我正在用C++編寫代碼,用於由用戶控制的存儲桶收集具有相同半徑的雨滴的遊戲。我想用一個數組來使16個雨滴中的每一個都有不同的大小(半徑)。我不知道如何將變量更改爲數組。如何將此變量更改爲數組C++

我給一個變量:

int radius = randomBetween(MARGIN/4, MARGIN/2); 

回答

-5

你可能會想使用花車,但基本上,如果我理解正確的話......

int size_in_elements = 16; 
float *a= new float[size_in_elements]; 
float maxvalue = 100.0f; // this will be the maximum value to assign to each element 
for(int i = 0; i < size_in_elements; i++) 
{ 
    a[i] = fmodf((float)rand(), maxvalue); 
} 
delete[] a; // Don't forget the brackets here... delete[] is used for deleting arrays. 

希望我幫助一些

+10

'std :: vector'比你自己管理陣列存儲器要好得多。 –

+0

我認爲他仍然在學習基本語言的繩索......不要過分介入std命名空間。 –

+6

教導初學者使用'new []'和'delete []'而不是使用標準庫是沒有意義的。 – juanchopanza

5

這是一個使用實際的C++的例子。

#include <algorithm> 
#include <functional> 
#include <random> 
#include <vector> 

std::mt19937 prng(seed); 
std::uniform_int_distribution<> dist(MARGIN/4, MARGIN/2); 
std::vector<int> radii(16); 
std::generate(radii.begin(), radii.end(), std::bind(dist, std::ref(prng))); 
+0

你可能想把這段代碼放在一個函數中:) – juanchopanza

+0

@juanchopanza在一個真正的程序中,至少要把最後一個語句放在一個函數,構造函數或析構函數中,我不認爲這是必要的在這個簡單的例子中,重點是演示''和'std :: generate',而不是函數定義。 – rightfold