2017-09-30 26 views
-1

コードフラグメント充填値

if (val==1) 
paperR[LIMIT]={100,50,20,10,5,2,1}; 

else if (val==2) 
paperR[LIMIT]={200,100,50,20,10,5,1}; 

通報しますか?

そうですよ int ask;

後者のコード ask = 1;

どのように配列でそれを行うには?

+0

は 'paperR' 1次元配列または2次元配列ですか?特定の要素 'paperR [LIMIT]'に配列を代入する場合、それは2Dでなければなりません。 – Barmar

+0

同じクラスの別の男が、彼らの教授に尋ねる代わりに、ここで一度に質問をし始めますか?おそらく、あなたの教授は答えを求めてSOを検索し、あなた自身で直接質問するつもりはありませんでした。 –

+2

この場合、初期化リストは使用できません。 – BLUEPIXY

答えて

1

配列に代入することはできません。宣言されている場所で配列を初期化する場合にのみ、値のリストを指定することができます。

アレイを塗りつぶしたい場合は、使用する値を含む別の配列のmemcpyを使用できます。だから、宣言することができます。

const int arr100[] = {100,50,20,10,5,2,1}; 
const int arr200[] = {200,100,50,20,10,5,1}; 
int paperR[LIMIT]; 

if (val == 1) { 
    memcpy(paperR, arr100, sizeof arr100); 
} else if (val == 2) { 
    memcpy(paperR, arr200, sizeof arr200); 
} 
+0

ありがとうBarmar! – Hassan

0

をあなたは他の後に一つの要素でそれを行うことがあります。

if (val==1) 
{ 
    paperR[0] = 100; 
    paperR[1] = 50; 
    paperR[2] = 20; 
    paperR[3] = 10; 
    paperR[4] = 5; 
    paperR[5] = 2; 
    paperR[6] = 1; 
} 
else if (val==2) 
{ 
    paperR[0] = 200; 
    paperR[1] = 100; 
    paperR[2] = 50; 
    paperR[3] = 20; 
    paperR[4] = 10; 
    paperR[5] = 5; 
    paperR[6] = 1; 
} 
+0

ありがとうMarianD! – Hassan