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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
13.10.2011, 14:32     Решить уравнение x^3+8x+10=0 методом хорд и касательных #1
вобщем есть такая задача
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;" крайне не знакомые выражения.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.10.2011, 14:33     Решить уравнение x^3+8x+10=0 методом хорд и касательных #2
Цитата Сообщение от vinternete Посмотреть сообщение
uses crt
нужно для clrscr

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

Цитата Сообщение от vinternete Посмотреть сообщение
:real
переменная с типом real(действительное число, в с это float/double)
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
13.10.2011, 16:39  [ТС]     Решить уравнение x^3+8x+10=0 методом хорд и касательных #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. мог бы кто нибуть исходный код проверить на паскале?
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
13.10.2011, 16:41     Решить уравнение x^3+8x+10=0 методом хорд и касательных #4
Цитата Сообщение от vinternete Посмотреть сообщение
и чт за: writeln ('koren: ',x11:6:4) ?
вывод с отступом 6 и 4 знаками после запятой
vinternete
2 / 3 / 1
Регистрация: 02.11.2010
Сообщений: 129
13.10.2011, 17:52  [ТС]     Решить уравнение x^3+8x+10=0 методом хорд и касательных #5
все, разобрался, спасибо
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
13.10.2011, 17:53     Решить уравнение x^3+8x+10=0 методом хорд и касательных #6
выводи с большей точностью =)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2011, 17:54     Решить уравнение x^3+8x+10=0 методом хорд и касательных
Еще ссылки по теме:

Решить уравнение методом Гаусса C++
C++ Комбинированный метод хорд и касательных
C++ Решить уравнение методом касательных с использованием функций

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

Или воспользуйтесь поиском по форуму:
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
13.10.2011, 17:54     Решить уравнение x^3+8x+10=0 методом хорд и касательных #7
Вот так попробуй
printf("koren %6.4f",x11);

просто ты выводишь х11 не в том формате, оно у тебя вещественное, а ты его как целое пытаешься вывести
Yandex
Объявления
13.10.2011, 17:54     Решить уравнение x^3+8x+10=0 методом хорд и касательных
Ответ Создать тему
Опции темы

Текущее время: 09:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru