Witam,
mam taki kod ktory nie wiem czy dobrze działa do zadania:
#include <iostream>
#include <string>
#include <cstdlib>
#include <cmath>
using namespace std;
double Funcja (double x, double q)
{
return q * exp(x + 1);
}
/*double trapez(double p, double q, double h)
{
return h * (p + q) / 2;
}*/
int main()
{
cout << "Program, ktory oblicza przyblizona wartosc pola powierzchni figury ograniczonej krzywa oraz prostymi" << endl;
double q, xp, xk, epsilon, h, trapez;
cout << "Podaj wspolczynnik funkcji " << endl;
cin >> q;
cout << "Podaj zadana dokladnosc obliczen " << endl;
cin >> epsilon;
cout << "Podaj ograniczenia przedzialu wartosci x [xp, xk] " << endl;
cin >> xp >> xk;
int n = 2;
double wartosc;
while (epsilon < abs((Funcja(n + 1, q) - Funcja(n, q))) / abs(Funcja(n, q)))
{
h = (xk - xp) / (float)n;
cout << "krok: h=" << h << endl;
wartosc = abs((Funcja(n+1,q) - Funcja(n,q))) / abs(Funcja(n,q));
cout << "Wartosc wynosi: " << wartosc << endl;
trapez = 0;
for (int i = 1; i < n; i++)
{
trapez += Funcja(xp + i * h, q);
}
trapez += Funcja(xp, q) / 2;
trapez += Funcja(xk, q) / 2;
trapez *= h;
n *= 2;
cout << n << endl;
}
cout << "Wartosc przyblizonego pola ograniczonego krzywymi: " << trapez << endl;
system("PAUSE");
return 0;
}