2016-06-22 5 views
-1

実行時に値でいっぱいになる配列を初期化しましたが、配列の次の使用可能な位置に値を割り当てる方法がわかりません。例C++配列の次の使用可能な位置から配列を埋める方法は?

int array[5]; 
for (int i=0; i<15; i++) 
    if(i == 5 || i == 10) 
     array[0] = i 

のために私はどのように私はこれをやって行くだろう[1]などのアレイに割り当てる[0]その後、第二の値10のアレイに割り当てられる最初の値、5をしたいと思いますか?

+0

ました私が実際にやろうとしていたものではありません。いずれにしてもありがとう。 –

+1

こちら[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)ここをクリックしてください。 –

+0

先生、良い質問をどう読むか教えてください。 –

答えて

2

もう1つの変数、nextAvailablePositionが必要です。

array[nextAvailablePosition++] = 5; 
array[nextAvailablePosition++] = 10; 

それともstd::vectorを使用しています。

2

あなたは5のインクリメント倍数であなたの配列を埋めるためにしたい場合:

int array[5]; 
for(int i=0; i<5; i++) { 
    array[i] = (i+1) * 5; 
} 

あなたは5と10の間で交互にする場合:

int array[5]; 
for(int i=0; i<5; i++) { 
    array[i] = (i % 2 == 0) ? 5 : 10; 
} 
0

が配列の間の数字をコンテンツになることを参照してください。 0と14を使用しているので、0から15の間で使用する場合は、< =

T(0~15)を使用すると、<演算子(i < 5)を使用しているため、彼具体的な質問

新しい変数

int array[5]; 
int aux = 0; //New variable 
for (int i=0; i<15; i++){ 
     if(i == 5 || i == 10){ 
      array[aux] = i; 
      aux++; // aux = aux+1 
     } 
} 
を作成しているが、この場合には、配列は、iの値をコンテンツになるために答え、それはあなたがこのような方法で行うことができますループを使用する必要はありません。

array[0] = 5; 
array[1] = 10; 

しかし、この場合には、あなたがそれを注意することができますので、多分あなたが本当にしたいことは、5の配列の整数倍に置かれる:

5左で割ったときに5の数倍であることの数です0の残り、つまり:

if (number % 5 == 0){ 
     //number is multiple of 5 
} 

あなたは0と15 betwen 5のすべての数字の倍数を置きたいのであれば、何を行うことができますすることです。

int array[5]; 
int aux = 0; //New variable 
for (int i=0; i<=15; i++){ // <= to use 15 too 
     if(i%5){ 
      array[aux] = i; 
      aux++; // aux = aux+1 
     } 
} 

または最善の方法:

int value = 5; 
int array[5]; 
int aux = 0; 
while(value <= 15) { 
    array[aux] = value; 
    aux++; 
    value += 5; // value = value+5 
} 
関連する問題