1. #include <iostream> // konsolinio darbo režimo priemon&#279;s cin ir cout
  2. #include <iomanip> // manipuliatori&#371; biblioteka
  3. #include <cmath>
  4. using namespace std; // naudojama std vard&#371; erdv&#279;
  5. const double eps = 0.001;// tikslumo konstanta skai&#269;iavimams
  6. // su slankaus kablelio skai&#269;iais
  7. // Funkcij&#371; prototipai
  8. void ReiksmiuLentele (double a, double b, double cp, double cg, double ch, double iq, double iw);
  9. double ReiksmeY (double a, double b, double c, double x);
  10. double ReiksmeX (double a, double b, double c);
  11.  
  12. int main()
  13. {
  14. double cp, // pradin&#279; funkcijos argumento reikšm&#279;
  15. cg, // galutin&#279; funkcijos argumento reikšm&#279;
  16. ch, // funkcijos argumento žingsnis
  17. a,
  18. b,
  19. iq,
  20. iw;
  21.  
  22. // Dialogas duomen&#371; xpr, xgal ir hx &#303;vedimui
  23. cout << "Programa darba pradejo" << endl;
  24. cout << "Iveskite a reiksme." << endl;
  25. cin >> a;
  26. cout << "Iveskite b reiksme." << endl;
  27. cin >> b;
  28. cout << "Iveskite pradine argumento reiksme." << endl;
  29. cin >> cp;
  30. cout << "Iveskite galutine argumento reiksme." << endl;
  31. cin >> cg;
  32. cout << "Iveskite zingsnio reiksme." << endl;
  33. cin >> ch;
  34. cout << "Iveskite intervalo q reiksme" << endl;
  35. cin >> iq;
  36. cout << "Iveskite intervalo w reiksme" << endl;
  37. cin >> iw;
  38. ReiksmiuLentele(a, b, cp, cg, ch, iq, iw);
  39.  
  40. cout << "Programa darba baige." << endl;
  41. return 0;
  42. }
  43.  
  44. // Funkcijos reikšmi&#371; spausdinimas lentele:
  45. // xp - pradin&#279; reikšm&#279;;
  46. // xg - galutin&#279; reikšm&#279;;
  47. // hx - žingsnis
  48. void ReiksmiuLentele (double a, double b, double cp, double cg, double ch, double iq, double iw)
  49. {
  50. double c;
  51. cout << "----------------------------------" << endl;
  52. cout << "| Argumentas | Funkcijos reiksme |" << endl;
  53. cout << "----------------------------------" << endl;
  54. cout << right; // lygiuoti pagal dešin&#281; pus&#281;
  55. cout << fixed; // spausdinti fiksuotu formatu
  56. cout.precision(5); // spausdinti 5 skai&#269;ius po kablelio
  57.  
  58. c = cp;
  59.  
  60.  
  61. while (c <= cg)
  62. {
  63. // Tikrinami funkcijos r&#279;žiai ir tr&#363;kiai
  64. if (a * b - c != 0)
  65. {
  66. if (ReismeY(a, b, c, ReiksmeX(a, b, c)) < iq && ReismeY(a, b, c, ReiksmeX(a, b, c)) > iw)
  67. // Funkcijos reikšm&#279; egzistuoja
  68. cout << "| " << c << setw(7);
  69. cout << "|" << setw(6) << ReiksmeY(a, b, c, ReiksmeX(a, b, c));
  70. cout << setw(10) << "|" << endl;
  71. c = c + ch;
  72. }
  73. else
  74. {
  75. // Funkcijos reikšm&#279; neegzistuoja
  76. cout << "| " << setw(5) << c;
  77. cout << " | NE |" << endl;
  78. }
  79. }
  80. cout << "----------------------------------" << endl;
  81. }
  82. }
  83.  
  84. // Vienos funkcijos reikšm&#279;s skai&#269;iavimas:
  85. // x - argumento reikšm&#279;;
  86. double ReiksmeY (double a, double b, double c, double x)
  87. {
  88. return 2 * (b + a) + pow(x, 2) / sqrt(c);
  89. }
  90.  
  91. double ReiksmeX (double a, double b, double c)
  92. {
  93. return 1 / (a - c * b);
  94. }