Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- double function(double t, double u)
- {
- return 4 / (t * t) - (u / t) - (u * u);
- }
- void priblizhennoe(ofstream&out, double h, double N, double t0, double U0)
- {
- double t, u, f, k1, k2, k3, k4;
- u = U0;
- t = t0;
- //cout << "Для t0 = " << t << " U0 = " << u << "\n";
- out << u << "\n";
- for (int i = 0; i < N; i++)
- {
- k1 = function(t, u);
- k2 = function(t + h / 2, u + (h * k1) / 2);
- k3 = function(t + h / 2, u + (h * k2) / 2);
- k4 = function(t + h, u + h * k3);
- u += h * (k1 + (2 * k2) + (2 * k3) + k4) / 6;
- t += h;
- //cout << "При t" << i + 1 << " = " << t << " U" << i + 1 << " равно: " << u << "\n";
- out << u << "\n";
- }
- }
- void tochnoe(double N, double h, double t0, double U0, double C)
- {
- double t, u;
- t = t0;
- u = U0;
- cout << "При t" << 0 << " = " << t << " U" << 0 << " = " << u << "\n";
- for (int i = 0; i < N; i++)
- {
- t = t + h;
- u = (2 * (t * t * t * t + C)) / (t * (t * t * t * t - C));
- cout << "При t" << i + 1 << " = " << t << " U" << i + 1 << " = " << u << "\n";
- }
- }
- int main()
- {
- ofstream out("pribresh.txt");
- setlocale(LC_ALL, "RU");
- double t0, T, h, N, U0;
- cout << "Введите область [to,T]:\n";
- cin >> t0 >> T;
- cout << "Введите N и U0: ";
- cin >> N >> U0;
- h = (T - t0) / N;
- double C;
- C = (t0 * t0 * t0 * t0 * (t0 * U0 - 2)) / (2 + U0 * t0);
- //cout << "Приближенные решения: \n";
- priblizhennoe(out, h, N, t0, U0);
- out.close();
- //cout << "Точные решения: \n";
- //tochnoe(N, h, t0, U0);
- ifstream inout("pribresh.txt");
- ofstream outn100("n100.txt");
- string s;
- while (inout.peek() != EOF)
- {
- inout >> s;
- for (int i = 0; i < s.length(); i++)
- if (s[i] == '.')
- s[i] = ',';
- outn100 << s << "\n";
- }
- inout.close();
- outn100.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement