daily pastebin goal
8%
SHARE
TWEET

Untitled

a guest Nov 8th, 2018 81 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. double MetodaTrapezow(double h);
  6. void MetodaSimsona(double n);
  7. int main()
  8. {
  9.     int ile,wybor;
  10.     double h;
  11.     cout<<"1.Wzor zlozony z trapezow.\n";
  12.     cout<<"2.Wzor zlozony z Simpsona.\n";
  13.     cout<<"3.Wyjscie z progrmau.\n";
  14.     cin>>wybor;
  15.     //system("CLS");
  16.     switch(wybor)
  17.     {
  18.     case 1:
  19.         cout<<"Podaj liczbe krokow => ";
  20.         cin>>h;
  21.         cout<<"Pole wynosi => "<<MetodaTrapezow(h);
  22.         break;
  23.     case 2:
  24.         cout<<"Podaj liczbe przedzialow => ";
  25.         cin>>h;
  26.         MetodaSimsona(h);
  27.         break;
  28.     default:
  29.         return 0;
  30.         break;
  31.  
  32.     }
  33.  
  34.  
  35.     return 0;
  36. }
  37.  
  38.  
  39. double MetodaTrapezow(double h)
  40. {
  41.     double a = -1 ,b = 1;
  42.     double n = (b-a) / h;
  43.     double wynik = 0, x=a;
  44.     double *y = new double[n];
  45.     for(int i=0; i<=n; i++) {
  46.         y[i] = 1 / (1 + x*x);
  47.         x += h;
  48.     }
  49.  
  50.     for(int i=0; i<=n; i++){
  51.         if(i==0 || i==n)
  52.             wynik += 0.5 * y[i];
  53.         else
  54.            wynik+=y[i];
  55.     }
  56.     wynik = 2 * h * wynik;
  57.     return wynik;
  58. }
  59.  
  60. void MetodaSimsona(double n)
  61. {
  62.     double a, b, x, wynikP=0, wynikNP=0, wynik=0;
  63.     cout<<"Podaj a => "; cin>>a;
  64.     cout<<"Podaj b => "; cin>>b;
  65.     double h = (b-a) / n;
  66.     x = a;
  67.  
  68.     double *y = new double[n];
  69.     for(int i=0; i<=n; i++)
  70.     {
  71.         y[i] = sqrt(1+x);
  72.         x += h;
  73.     }
  74.     for(int i=1; i<n; i++) {
  75.         if (i % 2 == 0)
  76.             wynikP += y[i];
  77.         else
  78.             wynikNP += y[i];
  79.     }
  80.  
  81.     wynik = (h/3)*( (y[0] + 4*wynikNP) + (2 * wynikP + y[(int)n]) );
  82.     cout<<"Pole wynosi => "<<wynik<<endl;
  83. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top