0

[右]長方形の合計を使用して統合プログラムに取り組んでいます。開始境界をa=1として使用し、長方形の数として「n」を使用し、zを増加させる増分として「inc」を使用しています。これが私がこれまでに持っているコードです:

#include <iostream>
#include <cmath>

using std::cout;
using std::endl;
using std::cin;

int main(){

    int n;
    float b;
    float z;
    z=((b-1)/n);
    float inc;
    float new_sum;
    float sum;
    int decision;


    cout << "Would you like to calculate an area? " << endl;
    cout << "Enter 1 for yes, 0 for no: " << endl;
    cin >> decision;

    cout << "Please enter the number of rectangles you would like to use: " << endl;
    cin >> n;
    cout << "Please enter the upper bound of integration: " << endl;
    cin >> b;

    for (inc=0; inc < b; inc++){
        new_sum=z*(f(1+(inc*z)));
        sum=sum+new_sum;
    }

    cout << sum << endl;

return 0;

}

2つの質問があります:

  1. これで関数f(x)= x ^ 5 + 10を使用するにはどうすればよいですか?forループでどのように入力およびフォーマットする必要があるのか​​わかりません。

  2. forループを使用して最初の質問シーケンス(面積を計算しますか?)をループして、ユーザーがyesの1を入力するまで繰り返すにはどうすればよいですか(whileループでこれを行う方法は知っていますが、どうすればよいか疑問に思っていましたforループで実行されますか?)

4

1 に答える 1

0

これで関数f(x)= x ^ 5 + 10を使用するにはどうすればよいですか?forループでどのように入力およびフォーマットする必要があるのか​​わかりません。

float f( float x ) {
    return pow( x, 5 ) + 10; // maybe x * x * x * x * x + 10
}

main関数定義の前にこの行を追加します。

forループを使用して最初の質問シーケンス(面積を計算しますか?)をループして、ユーザーがyesの1を入力するまで繰り返すにはどうすればよいですか(whileループでこれを行う方法は知っていますが、どうすればよいか疑問に思っていましたforループで実行されますか?)

for (;;) {
    cout << "Would you like to calculate an area? " << endl;
    cout << "Enter 1 for yes, 0 for no: " << endl;
    cin >> decision;
    if ( decision != 1 ) // or if ( decision == 0 )
    {
        break;
    }

    cout << "Please enter the number of rectangles you would like to use: " << endl;
    cin >> n;
    cout << "Please enter the upper bound of integration: " << endl;
    cin >> b;

    for (inc=0; inc < b; inc++){
        new_sum=z*(f(1+(inc*z)));
        sum=sum+new_sum;
    }

    cout << sum << endl;
}
于 2013-02-06T06:08:53.927 に答える