Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2020
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. /*
  2. TP 2018/2019: Tutorijal 5, Zadatak 5
  3.  
  4. Autotestove pisala Nina Slamnik. Prijave gresaka, sugestije i pitanja
  5. mozete slati na mail nslamnik1@etf.unsa.ba.
  6.  
  7. NAPOMENA: Tutorijal 5 sadrzi veliki broj ZABRANA, tipa zabrana
  8. da se koristi indeksiranje niz[i] ili simulacija indeksiranja
  9. npr. *(niz + i); dalje, da su zabranjene for petlje i slicno.
  10.  
  11. To ce tutori rucno pregledati u toku tutorijala te ako
  12. student bude PREKRSIO BAREM JEDNU ZABRANU, smatrace se da
  13. za taj zadatak NIJE PROSAO NITI JEDAN AUTOTEST!
  14. */
  15. #include <iostream>
  16. #include <cmath>
  17. #include <iomanip>
  18.  
  19.  
  20. double TrapeznoPravilo( double fun(double), double a, double b, int n)
  21. {
  22. double rez;
  23. double suma(0);
  24.  
  25. for(int i = 1; i < n; i++)
  26. suma = suma + fun( a + (( b - a)/ n) * i );
  27.  
  28. rez = ((b-a)/n) * (0.5 * fun(a) + 0.5 *fun(b) + suma);
  29.  
  30. return rez;
  31.  
  32. }
  33. int main ()
  34. {
  35. std:: cout << "Unesite broj podintervala: ";
  36. int n;
  37. std:: cin >> n;
  38.  
  39. std:: cout << "Za taj broj podintervala priblizne vrijednosti integrala iznose: " << std::endl;
  40.  
  41. std:: cout << std::fixed << std::setprecision(5) <<"- Za funkciju sin x na intervalu (0,pi): " << TrapeznoPravilo(std::sin, 0, 4 * atan(1), n) << std::endl;
  42. std:: cout << std::fixed << std::setprecision(2) <<"- Za funkciju x^3 na intervalu (0,10): " << TrapeznoPravilo([](double x){
  43. return x*x*x;
  44. }, 0 , 10, n) << std::endl;
  45. std:: cout << std::fixed << std::setprecision(5) << "- Za funkciju 1/x na intervalu (1,2): " << TrapeznoPravilo([](double x){return 1/x;}, 1, 2,n) << std::endl;
  46.  
  47.  
  48.  
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement