Advertisement
thj_harun

Integration lab 07

Jun 19th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.77 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #include<cmath>
  3. using namespace std;
  4. class inte{
  5.     public:
  6.     double func(double x);
  7.     double calculate(double a,double b,double n);
  8. };
  9. double inte::func(double x){
  10.     return (sqrt(1-(x*x)));
  11. }
  12. double inte::calculate(double a,double b,double n){
  13.     double delx=(b-a)/n;
  14.     double x=a,sum=0;
  15.     int i;
  16.     for(i=1;i<n;i++){
  17.         sum+=(2*func(x));
  18.         x+=delx;
  19.     }
  20.     sum+=(func(x+delx));
  21.     sum*=0.5*delx;
  22.     return sum;
  23. }
  24. int main(){
  25.     inte ob;
  26.     double resultprevious,resultcurrent;
  27.     int n=5;
  28.     int flug=1;
  29.     resultprevious=ob.calculate(0,1,n);
  30.     resultcurrent=ob.calculate(0,1,n+5);
  31.     do{
  32.         cout<<" n is "<<n<<" result is "<<resultprevious<<endl;
  33.         if((abs(resultprevious-resultcurrent))<0.00001){
  34.             flug=0;
  35.             cout<<" n is "<<n+5<<" result is "<<resultcurrent<<endl;
  36.             }
  37.         else{
  38.             n+=5;
  39.             resultprevious=resultcurrent;
  40.             resultcurrent=ob.calculate(0,1,n);
  41.         }
  42.     }while(flug);
  43.     return 0;
  44. }
  45.  
  46. #include<bits/stdc++.h>
  47. using namespace std;
  48. class inte{
  49.     public:
  50.     double func(double x);
  51.     double calculate(double a,double b,double n);
  52. };
  53. double inte::func(double x){
  54.     return (sqrt(1-(x*x)));
  55. }
  56. double inte::calculate(double a,double b,double n){
  57.     double delx=(b-a)/n;
  58.     double x=a,sum=0;
  59.     int i;
  60.     for(i=1;i<n;i++){
  61.         sum+=(2*func(x));
  62.         x+=delx;
  63.         cout<<" x is "<<x<<" sum is "<<sum<<endl;
  64.     }
  65.     sum+=(func(x+delx));
  66.     sum*=0.5*delx;
  67.     return sum;
  68. }
  69. int main(){
  70.     inte ob;
  71.     double result=ob.calculate(0,1,5);
  72.     cout<<endl<<"result is "<<result<<endl;
  73.     return 0;
  74. }
  75.  
  76.  
  77.  
  78.  
  79.  
  80. #include<bits/stdc++.h>
  81. #include<cmath>
  82. using namespace std;
  83. class inte{
  84.     public:
  85.     double func(double x);
  86.     double calculate(double a,double b,double n);
  87. };
  88. double inte::func(double x){
  89.     return (sqrt(1-(x*x)));
  90. }
  91. double inte::calculate(double a,double b,double n){
  92.     double delx=(b-a)/n;
  93.     double x=a,sum=0;
  94.     int i;
  95.     for(i=1;i<n;i++){
  96.         sum+=(2*func(x));
  97.         x+=delx;
  98.     }
  99.     sum+=(func(x+delx));
  100.     sum*=0.5*delx;
  101.     return sum;
  102. }
  103. int main(){
  104.     inte ob;
  105.     double resultprevious,resultcurrent;
  106.     int n=5;
  107.     int flug=1;
  108.     resultprevious=ob.calculate(0,1,n);
  109.     resultcurrent=ob.calculate(0,1,n+5);
  110.     do{
  111.         cout<<" n is "<<n<<" result is "<<resultprevious<<endl;
  112.         if((abs(resultprevious-resultcurrent))<0.00001){
  113.             flug=0;
  114.             cout<<" n is "<<n+5<<" result is "<<resultcurrent<<endl;
  115.             }
  116.         else{
  117.             n+=5;
  118.             resultprevious=resultcurrent;
  119.             resultcurrent=ob.calculate(0,1,n);
  120.         }
  121.     }while(flug);
  122.     return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement