2016-11-12 28 views
1

キーボードから6つの数字を読み込み、すべての偶数の合計を返す簡単なプログラムです。しかし、私がこれを実行すると、何も印刷せずに終了します。エラーはありませんが、実行時に何も起こりません。

私はここで何が欠けていますか? (私はベクトルを知っているだろうが、私は決勝戦のために練習している、これは配列を使用して指定された古い決勝の質問です)。メインで

#include <iostream> 

using namespace std; 

void readNumbers(); 
void sumOfEven(int arr[6]); 

int main(){ 
    void readNumbers(); 
    return 0; 
} 

void readNumbers(){ 
    int myArray[6]; 
    cout << "Enter 6 numbers:" << endl; 
    for(int i = 0; i < 6; i++){ 
     cin >> myArray[i]; 
    } 
    sumOfEven(myArray); 
} 

void sumOfEven(int arr[6]){ 
    int sum = 0; 
    for(int i = 0; i <= 6; i++){ 
     if(arr[i] % 2 == 0) 
      sum = sum + arr[i]; 
    } 
    cout << "Sum of even numbers: " << sum; 
} 
+3

'void readNumbers();'これは関数を宣言し、呼び出しません。 'main'では、それを' readNumbers(); 'にします。 –

+0

@IgorTandetnikそれはそれでした!ありがとう! – Fiona

+0

@エレサドフ:ハァッか。 –

答えて

2

あなたは

int main(){ 
    readNumbers(); 
    ^^^^^^^^^^^^^^ 
    return 0; 
} 

第二の問題を記述する必要があります

int main(){ 
    void readNumbers(); 
    ^^^^^^^^^^^^^^^^^ 
    return 0; 
} 

関数宣言の代わりに、関数呼び出しを使用すると、ループ内で間違ったインデックスを使用することがされている

for(int i = 0; i <= 6; i++){ 
       ^^^^^^^ 

存在する必要があります

for(int i = 0; i < 6; i++){ 
       ^^^^^ 
関連する問題