2011-12-07 14 views
0

これを行うにはどうしますか?これは配列と50要素を使った初めてのことですが、もっと大きくなることはわかっています。配列内のすべての要素に同じ値を割り当てる方法

+1

配列は 'std :: vector'を意味しますか? – GWW

+4

コードを表示してください。現在、私たちは* std :: vector *、 'std :: array'、' char [50] 'などの配列を意味するかどうかわかりません。 – AJG85

答えて

7

std::vectorを使用します。

std::vector<int> vect(1000, 3); // initialize with 1000 elements set to the value 3. 
+0

+1しかし、Matteoの答えはあなたのものより良いです。初期化にのみ適用されます。 –

2

あなたは配列を使用しなければならない場合は、forループを使用することができます。

int array[50]; 

for (int i = 0; i < 50; ++i) 
    array[i] = number; // where "number" is the number you want to set all the elements to 

やショートカットなど、場合std::fill

int array[50]; 

std::fill(array, array + 50, number); 

を使用すべての要素を設定する数値はです

int array[50] = { }; 

それとも、約std::vectorを話している場合は、初期ベクトルの大きさと何に各要素を設定するために取るコンストラクタがあります::

vector<int> v(50, n); // where "n" is the number to set all the elements to. 
9
は、あなたはこのショートカットを行うことができます

どのような種類の配列を使用していても、イテレータ/ポインタを提供する場合は<algorithm>ヘッダーのstd::fillアルゴリズムを使用できます。

// STL-like container: 
std::fill(vect.begin(), vect.end(), value); 

// C-style array: 
std::fill(arr, arr+elementsCount, value); 

valueを割り当てる値であり、elementsCountを変更するための要素の数である)

ない手で、このようなループを実装するので、難しいだろうと...

// Works for indexable containers 
for(size_t i = 0; i<elementsCount; ++i) 
    arr[i]=value; 
+0

カスタム配列クラスでさえイテレータを実装することができ、 'std :: fill'は要素の範囲に値を割り当てる際の柔軟性を可能にするので、彼が何を使用しているかにかかわらず最高の答えです。 – AJG85

0
for(int i=0;i<sizeofarray;i++) 
array[i]=valuetoassign 

using method 


void func_init_array(int arg[], int length) { 
    for (int n=0; n<length; n++) 
    arg[n]=notoassign 
} 
関連する問題