Перевести код решения уравнения с 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5