int beadArray[MAX] = {4};
を持っている4の値を持つすべてのボードビンを満たす配列を記述する必要があり、その後、0に2つのビンをリセット4.
〜4要素、および0に残り、ないそれらのすべて
ベクターを使用して、何かが将来的に扱いやすいと良いでしょう:
std::vector<int> beadArray (MAX, 4); //MAX elements, initialized to 4
beadArray [indexToReset1] = 0; //reset one element
beadArray [indexToReset2] = 0; //reset other element
//print array - C++11
for (int bead : beadArray)
cout << bead << '\t';
//print array - C++03, consider using std::for_each instead
for (vector<int>::const_iterator it = beadArray.begin(); it != beadArray.end(); ++it)
cout << *it << '\t';
非ベクター溶液:ベクターなし
、STLのagorithmsがまだ使用可能である。
int beadArray [MAX];
std::fill (beadArray, beadArray + MAX, 4);
beadArray [6] = beadArray [13] = 0; //just the two elements
std::fill (beadArray + 6, beadArray + 13, 0); //the range of elements from 6-13
のostreamイテレータを使用することであろう配列を印刷する幾分より賢い方法。
std::copy (beadArray, beadArray + MAX, std::ostream_iterator<int> (std::cout, "\t"));
単なるC++:
int beadArray [MAX];
for (int i = 0; i < MAX; ++i)
beadArray [i] = 4; //set every element to 4
beadArray [6] = beadArray [13] = 0; //set elements 6 and 13 to 0
for (int i = 0; i < MAX; ++i)
cout << beadArray [i] << '\t'; //print each element separated by tabs
ちょうど2の場合、そのインデックスにアクセスして** ** **を直接割り当てることはできません。とにかく、塗りつぶす必要がある配列のインデックスが連続している場合は、 'std :: fill'を使うことができます。しかし、私は彼らが2つの配列要素であるので、前のやり方で行うことを好む。 – Mahesh