2017-12-06 7 views
0

あなたはこの練習問題を歩いて助けてくれますか? 私は答えはあなたが持っているあなたの例では512要素の配列 - カウント数 - 練習

int arr[12] = { 1,3,5,0,7,2,0,4,4,0,8,8 }; 
int count = 0; 
for (int i = 0; i<11; i++) { 
    if (arr[i] = arr[i + 1]) 
     count++; 
    else 
     count--; 
} 
cout << count << endl; 
+2

'='が代入であることを忘れないでください。 '=='は比較です。 – tadman

答えて

2

ある方法を見つけ出すことができないよ:

=、ない ==ある
if (arr[i] = arr[i + 1]) 

。それは等しいかどうかをチェックしないことを割り当てています。ですから、例えば中:

if (a = 3) { 

あなたは3aを割り当て、3はそれがtrue、あるかどうかを確認します。

arr=> { 1,3,5,0,7,2,0,4,4,0,8,8 }; 
count=> 1,2,1,2,3,2,3,4,3,4,5 

そして、あなたが興味を持っている場合は、完了した後に、配列を見て:これは、答えは5である理由で簡単に見につながります。次のようになります。

{3,5,0,7,2,0,4,4,0,8,8,8} // Everything has been moved down 1 (except for the final member) 

See a live example of this here