Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cmath>
- using namespace std;
- void F (int stopien1, double fx[])
- {
- for(int i=stopien1; i>=0; i--)
- {
- if(i!=0)
- {
- cout<<"Podaj wspolczynnik "<<i<<" wyrazu:"<<endl;
- cin>>fx[i];
- }
- else
- {
- cout<<"Podaj wyraz wolny:"<<endl;
- cin>>fx[i];
- }
- }
- }
- void sprawdz (int stopien2, double fx2[])
- {
- for(int i=stopien2; i>=0; i--)
- {
- if(i!=0)
- {
- cout<<"("<<fx2[i]<<"x^"<<i<<") + ";
- }
- else
- {
- cout<<"("<<fx2[i]<<")";
- }
- }
- }
- double oblicz(double fx3[], int stopien3, double x3)
- {
- double wynik =0;
- for(int i=0; i<=stopien3; i++)
- {
- wynik=wynik+(fx3[i]*pow(x3,i));
- }
- return wynik;
- }
- int main()
- {
- int n;
- int stopien;
- double p,q;
- cout<< "Podaj na ile fragmentow chcesz podzielic obliczane pole"<<endl;
- cin>>n;
- cout<<"Podaj ktorego stopnia funkcje chcesz otrzymac"<<endl;
- cin>>stopien;
- double Funkcja[stopien];
- F(stopien, Funkcja);
- sprawdz(stopien, Funkcja);
- cout<<endl;
- cout<<"Podaj p:"<<endl;
- cin>>p;
- cout<<"Podaj q:"<<endl;
- cin>>q;
- double dlp=(q-p)/n, sp=0;
- for (int i=0; i<n;i++)
- {
- sp=sp+abs(oblicz(Funkcja, stopien, (p+dlp*i+dlp/2)));
- }
- cout<<"Pole pod funkcja wynosi:"<<dlp*sp<<"cm"<<endl;;
- double dlt = (q-p)/n, st=0;
- for (int i=1;i<n;i++)
- {
- st=st+abs(oblicz(Funkcja, stopien, (p+i*dlt/2)));
- }
- cout<<"Pole pod funkcja wynosi:"<<dlt/2*((abs(oblicz(Funkcja, stopien,p))+abs(oblicz(Funkcja, stopien,q)))+2*st)<<"cm";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement