Перевести код решения уравнения с Pascal - C (СИ)
Формулировка задачи:
Листинг программы
- uses crt;
- function F(x:real):real;
- var as:real;
- begin
- F:=x*x*x*x-18*x*x+6
- end;
- var a,b,c,x,e:real;
- begin
- clrscr;
- a:=0;
- b:=1;
- e:=0.001;
- writeln('Решение уравнения x^4-18x^2+6=0');
- writeln('на интервале [0;1] с погрешностью 0.001');
- repeat
- c:=(a+b)/2;
- if F(a)*F(c)<=0 then b:=c
- else a:=c;
- until abs(b-a)<e;
- x:=(a+b)/2;
- writeln('x=',x:0:2);
- readln
- end.
Решение задачи: «Перевести код решения уравнения с Pascal»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- float F(float x)
- {
- return (x * x * x * x - 18 * x * x + 6);
- }
- int main(void)
- {
- float a, b, c, x, e;
- a = 0.0f;
- b = 1.0f;
- e = 0.001f;
- printf("Решение уравнения x^4-18x^2+6=0\n");
- printf("на интервале [0;1] с погрешностью 0.001\n");
- do
- {
- c = (a + b) / 2.0f;
- if ((F(a) * F(c)) <= 0.0f)
- {
- b = c;
- }
- else
- {
- a = c;
- }
- }
- while (fabs(b - a) >= e);
- x = (a + b) / 2.0f;
- printf("x=%.2f\n", x);
- getchar();
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д