Нужна помощь по с++

avatar SYLaR220

124

8

SYLaR220

Пользователь

Регистрация: 11.12.2015

Сообщения: 11

Рейтинг: 0

SYLaR220

Регистрация: 11.12.2015

Сообщения: 11

Рейтинг: 0

В общем есть задание 9d41210f0caef1d6b63acf7fb5e033e1-full.jpg. Есть код к этой задаче(вставил в конце), но он не совсем правильно работает, он считает Рунге Кутта 4го порядка, а надо сделать 2го. Заранее благодарю за помощь). Вот ручное решение задачи:

 
Спойлер:

34fc0814120f728c9bfb48c8a96a3ac9-full.jpgbcde72fa42032b0b0eca9d754c2e3911-full.jpg980bd3648f287a036d57070ed46b7f3f-full.jpg5bbd273a4fb4ef651f52008a41cf6215-full.jpg

 

#include "stdafx.h"

#include

using namespace std;

const double eps = 1e-3;

 

double k = 0;

 

double f(double x)

{

return pow(x, 5) - pow(x, 3) - 3;

}

double runge(double X, double Y)

{

return cos(k*X + Y) + (3 * (X-Y));

}

int main()

{

double a, b, c;

double dy;

double n = 100;

double h;

double k1, k2, k3, k4;

double *X = new double[n];

double *Y = new double[n];

cout << "Delenie otrezka popolam" << endl << endl;

cout << "Vvedite a: "; cin >> a; cout << endl;

cout << "Vvedite b: "; cin >> b; cout << endl;

do

{

c = (a + b) / 2;

if (f(b) * f(c) < 0)

a = c;

else

b = c;

cout << "c = " << c << endl;

} while (abs(f(c)) > eps);

cout << "c = " << c << endl << endl;

k = c;

cout << "k = " << k << endl << endl;

{

cout << "Runge-Kutta 2 poryadka" << endl << endl;

cout << "Vvedite a: "; cin >> a; cout << endl;

cout << "Vvedite b: "; cin >> b; cout << endl;

cout << "Vvedite n: "; cin >> n; cout << endl;

 

h = 0,1;

 

cout << "Shag = " << h; cout << endl; cout << endl;

 

X[0] = a; Y[0] = 0.0;

 

for (int i = 1; i <= n; i++)

{

X = a + i*h;

}

for (int i = 1; i <= n; i++)

{

cout << "X&" << i << "]=" << X << " " << endl;

 

}

cout << endl; cout << endl;

 

for (int i = 1; i <= n; i++)

{

k1 = Y(i)+h/2*runge(X, Y);

cout << "k1 = " << k1 << " " << endl;

k2 = h*runge(X + h / 2, Y + k1 / 2);

cout << "k2 = " << k2 << " " << endl;

k3 = h*runge(X + h / 2, Y + k2 / 2);

cout << "k3 = " << k3 << " " << endl;

k4 = h*runge(X + h, Y + k3);

cout << "k4 = " << k4 << " " << endl;

dy = (k1 + 2 * k2 + 2 * k3 + k4) * (1.00 / 6.00);

cout << "dy = " << dy << " " << endl;

Y = Y + dy; cout << "Y&" << i << "]= " << Y << " " << endl;

 

}

return 0;

}

 

}

LOLKEKCHEBYREKBLR

Пользователь

Регистрация: 27.02.2017

Сообщения: 10

Рейтинг: -1

LOLKEKCHEBYREKBLR

Регистрация: 27.02.2017

Сообщения: 10

Рейтинг: -1

Дада всеправильно)

Suspicious User

Пользователь

Регистрация: 21.04.2014

Сообщения: 2737

Рейтинг: 1832

Suspicious User

Регистрация: 21.04.2014

Сообщения: 2737

Рейтинг: 1832

Засунь все картинки в спойлер, а код залей на pastebin с оформлением и просто оставь ссылку NotLikeThis.png

Raiden~

Пользователь

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 100

Raiden~

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 100

залей код через bb, или на пастебин как писали выше. А вообще я бы посоветовал обратиться на сайберфорум, просто потому что многим (мне) лень копаться в чужом коде

legendarry

Пользователь

Регистрация: 10.12.2012

Сообщения: 1564

Рейтинг: 624

legendarry

Регистрация: 10.12.2012

Сообщения: 1564

Рейтинг: 624

Raiden~ сказал(а):

залей код через bb, или на пастебин как писали выше. А вообще я бы посоветовал обратиться на сайберфорум, просто потому что многим (мне) лень копаться в чужом коде

Нажмите, чтобы раскрыть...

Да и челиков соображающих там явно по больше)

Raiden~

Пользователь

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 100

Raiden~

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 100

legendarry сказал(а):

Да и челиков соображающих там явно по больше)

Нажмите, чтобы раскрыть...

у меня чёт этот код не компилится вообще, ошибок много не считая неправильно инклюднутую библиотеку

Gissh

Пользователь

Регистрация: 21.03.2015

Сообщения: 5508

Рейтинг: 8997

Gissh

Регистрация: 21.03.2015

Сообщения: 5508

Рейтинг: 8997

img
legendarry сказал(а):

Да и челиков соображающих там явно по больше)

Нажмите, чтобы раскрыть...

Не правда. 95% форума программисты у кторых зарплата 100000$ в секунду

Raiden~

Пользователь

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 100

Raiden~

Регистрация: 03.07.2016

Сообщения: 404

Рейтинг: 346

Нарушения: 100

legendarry сказал(а):

Да и челиков соображающих там явно по больше)

Нажмите, чтобы раскрыть...

хотя заметил такую фичу, что на cyberforum'е в основном на всякие нубские вопросы отвечают. Если спрашивать серьёзные вещи надо на стаковерфлоу идти

legendarry

Пользователь

Регистрация: 10.12.2012

Сообщения: 1564

Рейтинг: 624

legendarry

Регистрация: 10.12.2012

Сообщения: 1564

Рейтинг: 624

Raiden~ сказал(а):

хотя заметил такую фичу, что на cyberforum'е в основном на всякие нубские вопросы отвечают. Если спрашивать серьёзные вещи надо на стаковерфлоу идти

Нажмите, чтобы раскрыть...

Ну стэк это вообще топ сайт.

Raiden~ сказал(а):

у меня чёт этот код не компилится вообще, ошибок много не считая неправильно инклюднутую библиотеку

Нажмите, чтобы раскрыть...

А ты все инклуды добавил? Не забывай что он через #include "stdafx.h" сделал