Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
#1

Решить уравнение x^3+8x+10=0 методом хорд и касательных - C++

13.10.2011, 14:32. Просмотров 1915. Ответов 6
Метки нет (Все метки)

вобщем есть такая задача
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//{Решить уравнение x^3+8x+10=0 методом хорд и касательных с точностью 0,001,
 //если известно, что корень уравнения в [-2;-1] }
 
program metod;
uses crt;
function f(var x:real):real;
begin
f:= X*X*X+8*X+10;
end;
function f1(var x:real):real;
begin
f1:= 3*X*X+8; {первая производная}
end;
function f2(var x:real):real;{вторая производная}
begin
f2:= 6*X;
end;
var
a,b:real;
e,e1:real;
x0,tmp:real;
x11,x12:real;
z,x6,y:real;
begin
clrscr;
a:=-2;
b:=-1;
e:=0.001;
x0:=a;
if f(a)*f(b)>0 then writeln('a or b is incorrect')
else
 begin
  x11:=x0-f(x0)/f1(x0);
  x12:=a-((b-a)*f(a)/(f(b)-f(a)));
  e1:=(x11+x12)/2;
  while  abs(e1-x11)>e do
    begin
     a:=x11;
     b:=x12;
     x11:= a-F(a)/f1(a);
     x12:= a-((b-a)*f(a)/(f(b)-f(a)));
     e1:=(x11+x12)/2;
    end;
  writeln ('koren: ',x11:6:4)
 end;
readln
end.
 // ответ x=1.0887
не могли бы вы, если не затруднит, "перевести" ее на Си?
а то "uses crt;" ":real;" "clrscr;" крайне не знакомые выражения.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 14:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решить уравнение x^3+8x+10=0 методом хорд и касательных (C++):

Решить уравнение по заданной формуле методом хорд и модифицированным методом Ньютона - C++
8. Решить уравнение 5sinx - x = 0 на отрезке с точностью E методом хорд и модифицированным методом Ньютона.

Решить нелинейное уравнение методом хорд и методом простой итерации - C++
Help, please, послезавтра сдавать лабу, а я не знаю как делать=( Нужно решить нелинейное уравнение методом хорд и методом простой...

Решить уравнение методом касательных с использованием функций - C++
Написать программу решения уравнения методом касательных с использованием функций. e^x – 3 – 1 / x a = 2, b = 3 ...

Найти корень уравнения методом хорд и методом касательных - C++
На языке программирования DEV C++ 5.8.2 Метод Хорда и Касательный X^3+3x^2-24x-3=0 На отрезке (-1 и 0) вот в методе Касательного...

Решение уравнения методом хорд и касательных - C++
Комбінований метод хорд та дотичних x належить Перевожу. Решение уравнения комбинированным методом хорд и касательных. х...

Решить уравнение методом Гаусса - C++
надо посчитать методом гаусса ур-е A \cdot X = B 3-размерность A = \begin{pmatrix} 2.74 & -1.18 & 3.17 \\ 1.12 & 0.83 &...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.10.2011, 14:33 #2
Цитата Сообщение от vinternete Посмотреть сообщение
uses crt
нужно для clrscr

Цитата Сообщение от vinternete Посмотреть сообщение
clrscr
очистка экрана

Цитата Сообщение от vinternete Посмотреть сообщение
:real
переменная с типом real(действительное число, в с это float/double)
1
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
13.10.2011, 16:39  [ТС] #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <math.h> 
double f(double X){
return X*X*X+8*X+10;
}
double f1(double X){
return 3*X*X+8;// {первая производная}
}
 
double f2(double X){ //{вторая производная}
return 6*X;
}
 
main()
{
double a,b;
double e,e1;
double x0,tmp;
double x11,x12;
double z,x6,y;
 
a=-2;
b=-1;
e=0.001;
x0=a;
if (f(a)*f(b)>0)
printf("a or b is incorrect");
else
{
  x11=x0-f(x0)/f1(x0);
  x12=a-((b-a)*f(a)/(f(b)-f(a)));
  e1=(x11+x12)/2;
  while  (abs(e1-x11)>e){
     a=x11;
     b=x12;
     x11= a-f(a)/f1(a);
     x12= a-((b-a)*f(a)/(f(b)-f(a)));
     e1=(x11+x12)/2;
  }
  printf("koren %d",x11);
}
 
}
вроде как переписал, но ответы не совпадают
и чт за: writeln ('koren: ',x11:6:4) ?
p.s. мог бы кто нибуть исходный код проверить на паскале?
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
13.10.2011, 16:41 #4
Цитата Сообщение от vinternete Посмотреть сообщение
и чт за: writeln ('koren: ',x11:6:4) ?
вывод с отступом 6 и 4 знаками после запятой
0
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
13.10.2011, 17:52  [ТС] #5
все, разобрался, спасибо
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
13.10.2011, 17:53 #6
выводи с большей точностью =)
0
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
13.10.2011, 17:54 #7
Вот так попробуй
printf("koren %6.4f",x11);

просто ты выводишь х11 не в том формате, оно у тебя вещественное, а ты его как целое пытаешься вывести
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2011, 17:54
Привет! Вот еще темы с ответами:

Решить уравнение методом итераций - C++
Здравствуйте,помогите пожалуйста разобраться,4 уравнение,с методом дихотомии разобрался,а с итерацией никак не выходит

Методом Эйлера решить дифференциальное уравнение - C++
кодеры есть? методом эйлера решить диф уравнение я знаю код есть везде, но я щас в плохом состоянии чтобы искать у кого выйдет...

Решить уравнение методом простых итераций - C++
Помогите решить уравнение х^4+2*x^3-x-1 на интервале #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; //Функция ...

Методом Ньютона решить линейное уравнение - C++
Всем привет и хорошего настроения! Решаю вычмат. Методом Ньютона надо решить линейное уравненьице. Сам метод запроган. Хочу запрогать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.10.2011, 17:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru