2016-03-30 7 views
-1

運動テキスト入力をユーザに尋ねるアレイ使用してプログラムを書く10の番号

は、入力10の番号をユーザに尋ねるアレイを使用してプログラムを作成し、それらの数値の平均値を算出し、合計を見つけ出し平均より大きいか等しい数値。たとえば、1,2,3,4,5、-1、-2、-3、-4、-5のように10個の数字を入力したとします。平均は0です。平均以上の合計数は5で1,2,3,4,5です。

この問題を解決するには、ループを使用する必要があります。

これまでの私のコード:

using namespace std; 
#include <iostream> 

int main() 
{ 
    double nums[10]; 
    double sum = 10; 
    double averageNums; 
    int numsGreaterThan = 0; 
    for (int i = 0; i < 10; i++) 
    { 
     cout << "Enter number " << i +1 << ": "; 
     cin >> nums; 
     sum = sum + nums; 
    } 
    averageNums = sum/10; 

    for (int j = 0; j < 10; j++) 
    { 
     if (nums[j] >= averageNums) 
      numsGreaterThan++; 
    } 
    cout << numsGreaterThan << " numbers are greater than the average."; 

    system ("pause"); 
} 

私は苦労してるのエラー:

  1. エラー1つのエラーC2679:バイナリ '>>':なしオペレーターが見つかりません'double [10]'型の右辺のオペランドをとります(または受け入れ可能な変換はありません)

  2. エラー2エラーC2111: '+':ポインタの添加が不可欠オペランドを必要と

  3. のIntelliSense:いいえ演算子 ">>" これらのオペランドに一致する オペランドの型がある:のstd ::のIStream >>ダブル[10]

  4. インテリセンス:式は算術またはスコープ外の列挙型を持たなければならない

+0

あなたがエラーメッセージに行番号を追加した場合、それは良いだろう。 – doptimusprime

+0

あなたは本当にインクルードの前に 'using namespace std'を入れてはいけません – MikeMB

答えて

2
cin >> nums; 

numsが配列であり、それはインデックス付けされなければならないので

cin >> nums[i]; 

だから

sum = sum + nums; 

sum = sum + nums[i]; 

なければならないしなければなりません。配列cin+doubleの配列を渡そうとしています。したがって、あなたはエラーを取得しています。

+0

2文字で簡単にうれしくて本当にありがとう –

1

あなたがインデックスに配列を必要とする:

cin >> nums[i]; 
sum = sum + nums[i]; 
関連する問題