Advertisement
codisinmyvines

formysun

Apr 12th, 2021
770
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. double function(double t, double u)
  7. {
  8.     return 4 / (t * t) - (u / t) - (u * u);
  9. }
  10. void priblizhennoe(ofstream&out, double h, double N, double t0, double U0)
  11. {
  12.     double t, u, f, k1, k2, k3, k4;
  13.     u = U0;
  14.     t = t0;
  15.     //cout << "Для t0 = " << t << " U0 = " << u << "\n";
  16.     out << u << "\n";
  17.     for (int i = 0; i < N; i++)
  18.     {
  19.         k1 = function(t, u);
  20.         k2 = function(t + h / 2, u + (h * k1) / 2);
  21.         k3 = function(t + h / 2, u + (h * k2) / 2);
  22.         k4 = function(t + h, u + h * k3);
  23.         u += h * (k1 + (2 * k2) + (2 * k3) + k4) / 6;
  24.         t += h;
  25.         //cout << "При t" << i + 1 << " = " << t << " U" << i + 1 << " равно: " << u << "\n";
  26.         out << u << "\n";
  27.     }
  28. }
  29. void tochnoe(double N, double h, double t0, double U0, double C)
  30. {
  31.     double t, u;
  32.     t = t0;
  33.     u = U0;
  34.     cout << "При t" << 0 << " = " << t << " U" << 0 << " = " << u << "\n";
  35.     for (int i = 0; i < N; i++)
  36.     {
  37.         t = t + h;
  38.         u = (2 * (t * t * t * t + C)) / (t * (t * t * t * t - C));
  39.         cout << "При t" << i + 1 << " = " << t << " U" << i + 1 << " = " << u << "\n";
  40.     }
  41. }
  42. int main()
  43. {
  44.     ofstream out("pribresh.txt");
  45.     setlocale(LC_ALL, "RU");
  46.     double t0, T, h, N, U0;
  47.     cout << "Введите область [to,T]:\n";
  48.     cin >> t0 >> T;
  49.     cout << "Введите N и U0: ";
  50.     cin >> N >> U0;
  51.     h = (T - t0) / N;
  52.     double C;
  53.     C = (t0 * t0 * t0 * t0 * (t0 * U0 - 2)) / (2 + U0 * t0);
  54.     //cout << "Приближенные решения: \n";
  55.     priblizhennoe(out, h, N, t0, U0);
  56.     out.close();
  57.     //cout << "Точные решения: \n";
  58.     //tochnoe(N, h, t0, U0);
  59.     ifstream inout("pribresh.txt");
  60.     ofstream outn100("n100.txt");
  61.     string s;
  62.     while (inout.peek() != EOF)
  63.     {
  64.         inout >> s;
  65.         for (int i = 0; i < s.length(); i++)
  66.             if (s[i] == '.')
  67.                 s[i] = ',';
  68.         outn100 << s << "\n";
  69.     }
  70.     inout.close();
  71.     outn100.close();
  72.  
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement