Advertisement
Evgeniy175

Untitled

Nov 29th, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. double fff(double x, int a, double Pi)
  5. {
  6.     double fx;
  7.     fx = a*x - pow(cos(Pi*x), 2);
  8.     return fx;
  9. }
  10.  
  11. double fun(int a, int& k_iter)
  12. {
  13.     double Pi = 3.14159265, fa, fx, e = pow(10, (-6)), x, Sa = 0.2, Sb = 0.8;
  14.     k_iter = 0;
  15.     fa = a*Sa - pow(cos(Pi*Sa), 2);
  16.     do
  17.     {
  18.         x = (Sa + Sb) / 2;
  19.         fff(x, a, Pi);
  20.         if (fff(x, a, Pi)*fa <= 0) Sb = x;
  21.         else Sa = x;
  22.         k_iter++;
  23.     } while (abs(Sa - Sb) > 2 * e);
  24.     return x;
  25. }
  26.  
  27. int main( )
  28. {
  29.     double Pi = 3.14159265;
  30.     int a, Kiter;
  31.     for (a = 1; a <= 3; a++)
  32.     {  
  33.         fun(a, Kiter);
  34.         int *pk = &Kiter;
  35.         if (a == 2) cout << "a=" << a << "   x=" << fun(a, Kiter) << "       f(x)=" << a*fun(a, Kiter) - pow(cos(Pi*fun(a, Kiter)), 2) << "   k_iter=" << *pk << '\n';
  36.         else cout << "a=" << a << "   x=" << fun(a, Kiter) << "   f(x)=" << a*fun(a, Kiter) - pow(cos(Pi*fun(a, Kiter)), 2) << "   k_iter=" << *pk << '\n';
  37.     }  
  38.     system("pause");
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement