2017-10-30 2 views
0

ユーザーからの数値を求めるプログラムを作成する必要があります(数値はユーザーによって決定されます) ANSWER = FIRST - SECOND + THIRD - FIFTH + ...特定の数式を指定してユーザーが入力した数値を追加する方法

ここで、FIRST、SECONDなどはユーザーが入力した最初、2番目、残りの数字です。

問題は、数値を格納するループを作成できますが、実際にはnum変数の値のみが更新されることです。これは私が書いたコードです。

#include <iostream> 
using namespace std; 

int main() { 

int num, counter; 
double answer; 

cout << "Enter integer count: "; 
cin >> counter; 

for (int i = 0; i < counter; i++) { 
    cout << "Enter number " << i + 1 << endl; 
    cin >> num; 
} 

return 0; 
} 
+0

これらの数値を 'std :: vector'に格納するのはどうでしょうか? – user0042

+0

'配列'または 'std :: vector'が必要です。 –

+0

各番号を格納する必要はありません。各番号を加算するか減算するかを示すフラグが必要です。その後、そのフラグを反転します。ループを行う前に0に初期化することを忘れないでください。 – Steve

答えて

0

desired効果

#include <iostream> 
using namespace std; 

int main() { 

int num, counter; 
double answer; 

cout << "Enter integer count: "; 
cin >> counter; 

for (int i = 0; i < counter; i++) { 
    cout << "Enter number " << i + 1 << endl; 
    cin >> num; 
    if(i%2==0) 
     answer+=num; 
    else 
     answer-=num; 
} 

return 0; 
} 
0

また、ユーザーが入力した数字を保存する必要がないと仮定して、これを行うこともできます。私が基本的にやっていることは、+1-1の間で切り替えてから、ユーザーが入力した数字を乗算してから、それを直接answerに加えることです。

#include <iostream> 
#include<cmath> 
using namespace std; 

int main() 
{ 

    int num, counter; 
    double answer = 0; 

    cout << "Enter integer count: "; 
    cin >> counter; 

    for (int i = 0; i < counter; i++) { 
     cout << "Enter number " << i + 1 << endl; 
     cin >> num; 
     answer += num*pow(-1, i); 
    } 
    cout<<answer; 

return 0; 
} 

あなたはまた、行うことができます。

私はあなたが得ることが偶数と奇数の場合を分離できる2によってインデックスの整数除算の 余りを制御する場合、else節を挿入
#include <iostream> 
#include<cmath> 
using namespace std; 

int main() 
{ 

    int num, counter; 
    double answer = 0; 

    cout << "Enter integer count: "; 
    cin >> counter; 

    for (int i = 0; i < counter; i++) { 
     cout << "Enter number " << i + 1 << endl; 
     cin >> num; 
     if(i%2 == 0)answer += num; 
     else answer -= num; 
    } 
    cout<<answer; 

return 0; 
} 
+0

ちょうど不思議です...なぜdownvote? –

+0

解決策を少し説明してください。私はこの解決策が好きで、-1の馬を使ってサインを交互にしています。 –

+1

'pow'はこれに対してちょっと重いです。それは別の' double'に引き上げられた 'double'のために設計されています。 – Steve