Skonstruuj algorytm w postaci programu wyznaczający pole figury ograniczonej wykresami dwóch funkcji f(x)=x^2+x-10 i g(x)=-x^2 w przedziale [4,9].
Program w C++


Odpowiedź :

#include <iostream>

#include <cmath>

// Struktura reprezentująca równanie sześcienne

struct cubic {

   float a, b, c, d;

   cubic(float __a, float __b, float __c, float __d) {

       a = __a;

       b = __b;

       c = __c;

       d = __d;

   }

   // Wartość funkcji w punkcie

   float value(float __x) {

       return a * pow(__x, 3) + b * pow(__x, 2) + c * __x + d;

   }

};

// Struktura reprezentująca równanie kwadratowe

struct quadratic {

   float a, b, c;

   quadratic(float __a, float __b, float __c) {

       a = __a;

       b = __b;

       c = __c;

   }

   // Całka nieoznaczona funkcji

   cubic indefinite_integral() {

       cubic result(a / 3, b / 2, c, 0);

       return result;

   }

   // Całka oznaczona funkcji

   float definite_integral(float __a, float __b) {

       return indefinite_integral().value(fmax(__a, __b))

              - indefinite_integral().value(fmin(__a, __b));

   }

};

int main() {

   quadratic f(1, 1, -10);

   quadratic g(-1, 0, 0);

   float left_limit = 4;

   float right_limit = 9;

   float area = f.definite_integral(right_limit, left_limit)

                - g.definite_integral(right_limit, left_limit);

   std::cout << area;

   return 0;

}