vertc

05-12

Dec 5th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.85 KB | None | 0 0
  1. // METODA PROSTOKĄTÓW
  2.  
  3. #include <iostream>
  4. #include <math.h>
  5.  
  6. using namespace std;
  7.  
  8. float F(float x) {
  9.     return sin(x);
  10. }
  11.  
  12. int main () {
  13.     long double p, q, dl, s, pole;
  14.     int n, i;
  15.     cout<<"Podaj liczbe rzeczywista p: "<<endl;
  16.     cin>>p;
  17.     cout<<"Podaj liczbe rzeczywista q: "<<endl;
  18.     cin>>q;
  19.     cout<<"Podaj liczbe prostokatow (liczba naturalna) n: "<<endl;
  20.     cin>>n;
  21.     dl = (q-p) / n;
  22.     s = 0;
  23.     while(i<n) {
  24.         s = s + fabs(F(p+dl*i + (dl/2)));
  25.         i++;
  26.     }
  27.     pole = dl*s;
  28.     cout<<"Pole wynosi: "<<pole<<endl;
  29. }
  30.  
  31. -------------------------------------------------------------------------------------
  32.  
  33. // METODA TRAPEZÓw
  34.  
  35. #include <iostream>
  36. #include <math.h>
  37.  
  38. using namespace std;
  39.  
  40. float F(float x) {
  41.     return sin(x);
  42. }
  43.  
  44. int main () {
  45.     long double p, q, dl, s, pole;
  46.     int n, i;
  47.     cout<<"Podaj liczbe rzeczywista p: "<<endl;
  48.     cin>>p;
  49.     cout<<"Podaj liczbe rzeczywista q: "<<endl;
  50.     cin>>q;
  51.     cout<<"Podaj liczbe trapezow (liczba naturalna) n: "<<endl;
  52.     cin>>n;
  53.     dl = (q-p) / n;
  54.     s = 0;
  55.     i = 1;
  56.     while(i<n) {
  57.         s = s + fabs(F(p+i*dl));
  58.         i++;
  59.     }
  60.     pole = (dl/2) * (fabs(F(p)) + fabs(F(q)) + 2*s);
  61.     cout<<"Pole wynosi: "<<pole<<endl;
  62. }
  63.  
  64. -------------------------------------------------------------------------------------
  65.  
  66. // OBIE METODY
  67.  
  68. #include <iostream>
  69. #include <math.h>
  70.  
  71. using namespace std;
  72.  
  73. float F(float x) {
  74.     return sin(x);
  75. }
  76.  
  77. float prostokat(long double p, long double q, int n) {
  78.     long double dl, s, pole1;
  79.     int i;
  80.     dl = (q-p) / n;
  81.     s = 0;
  82.     while(i<n) {
  83.         s = s + fabs(F(p+dl*i + (dl/2)));
  84.         i++;
  85.     }
  86.     pole1 = dl*s;
  87.     return pole1;
  88. }
  89.  
  90. float trapez(long double p, long double q, int n){
  91.     long double dl, s, pole2;
  92.     int i;
  93.     dl = (q-p) / n;
  94.     s = 0;
  95.     i = 1;
  96.     while(i<n) {
  97.         s = s + fabs(F(p+(i*dl)));
  98.         i++;
  99.     }
  100.     pole2 = (dl/2) * (fabs(F(p)) + fabs(F(q)) + 2*s);
  101.     return pole2;
  102. }
  103.  
  104. int main () {
  105.     int wybor;
  106.     long double p, q, n, dl, i, pole1, pole2;
  107.     cout<<"Podaj liczbe rzeczywista p: "<<endl;
  108.     cin>>p;
  109.     cout<<"Podaj liczbe rzeczywista q: "<<endl;
  110.     cin>>q;
  111.     cout<<"Podaj liczbe liczbe naturalna n: "<<endl;
  112.     cin>>n;
  113.    
  114.     cout<<"-------------------------------------";
  115.     cout<<endl<<"WYBIERZ OPERACJE (1 - 4):"<<endl;
  116.     cout<<"1. Obliczanie metoda prostokatow."<<endl;
  117.     cout<<"2. Obliczanie metoda trapezow."<<endl;
  118.     cout<<"3. Obliczanie obiema metodami."<<endl;
  119.     cout<<"4. Wyjscie z programu."<<endl;
  120.     cout<<"-------------------------------------"<<endl;
  121.     cout<<"OPERACJA: ";
  122.     cin>>wybor;
  123.    
  124.     switch(wybor) {
  125.         case 1:
  126.             cout<<endl<<"Pole wynosi: "<<prostokat(p, q, n);
  127.             break;
  128.         case 2:
  129.             cout<<endl<<"Pole wynosi: "<<trapez(p, q, n);
  130.             break;
  131.         case 3:
  132.             cout<<endl<<"Pole obliczone metoda prostokatow wynosi: "<<prostokat(p, q, n)<<endl;
  133.             cout<<"Pole obliczone metoda trapezow wynosi: "<<trapez(p, q, n);
  134.             break;
  135.         case 4:
  136.             cout<<endl<<"Wychodzenie z programu...";
  137.             return 0;
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment