Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <iomanip>
- using namespace std;
- double funkcja(double x)
- {
- double w;
- w=1.0/(1+pow(x,2));
- return w;
- }
- double mtrapezow(int n,double h,double tabfi[],double tabx[])
- {
- double wynik=0;
- wynik=(0.5*tabfi[0])+(0.5*tabfi[n]);
- for(int i=1;i<n;i++) wynik+=tabfi[i];
- wynik=wynik*h*2;
- return wynik;
- }
- double sim(int n,double h,double tabfi[],double tabx[])
- {
- double sumaparz=0;
- double sumanieparz=0;
- double wynik=0;
- wynik=tabfi[0]+tabfi[n];
- for(int i=1;i<n;i++)
- {
- if(i%2==0) sumaparz+=tabfi[i];
- else sumanieparz+=tabfi[i];
- }
- wynik+=((4.0*sumanieparz)+(2.0*sumaparz));
- wynik=wynik*(h/3.0)*2;
- return wynik;
- }
- int main()
- {
- double b=1;
- double a=-1;
- int n;
- double h;
- cout<<"Podaj n"<<endl;
- cin>>n;
- double tabx[n+1];
- double tabfi[n+1];
- cout<<endl;
- h=(b-a)/n;
- double iksy=a;
- for(int i=0;i<n+1;i++)
- {
- tabx[i]=iksy;
- tabfi[i]=funkcja(tabx[i]);
- iksy+=h;
- }
- for(int i=0;i<n+1;i++)
- {
- cout<<setw(5)<<tabx[i]<<setw(5)<<tabfi[i]<<endl;
- }
- cout<<"przyblizona wartosc to : "<<mtrapezow(n,h,tabfi,tabx)<<endl;
- if(n%2==0) cout<<"Przyblizona wartosc druga metoda to: "<<sim(n,h,tabfi,tabx);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement