Перевести код решения уравнения с Pascal - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. uses crt;
  2. function F(x:real):real;
  3. var as:real;
  4. begin
  5. F:=x*x*x*x-18*x*x+6
  6. end;
  7. var a,b,c,x,e:real;
  8. begin
  9. clrscr;
  10. a:=0;
  11. b:=1;
  12. e:=0.001;
  13. writeln('Решение уравнения x^4-18x^2+6=0');
  14. writeln('на интервале [0;1] с погрешностью 0.001');
  15. repeat
  16. c:=(a+b)/2;
  17. if F(a)*F(c)<=0 then b:=c
  18. else a:=c;
  19. until abs(b-a)<e;
  20. x:=(a+b)/2;
  21. writeln('x=',x:0:2);
  22. readln
  23. end.

Решение задачи: «Перевести код решения уравнения с Pascal»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. float F(float x)
  5. {
  6.   return (x * x * x * x - 18 * x * x + 6);
  7. }
  8.  
  9. int main(void)
  10. {
  11.   float a, b, c, x, e;
  12.  
  13.   a = 0.0f;
  14.   b = 1.0f;
  15.   e = 0.001f;
  16.  
  17.   printf("Решение уравнения x^4-18x^2+6=0\n");
  18.   printf("на интервале [0;1] с погрешностью 0.001\n");
  19.  
  20.   do
  21.   {
  22.     c = (a + b) / 2.0f;
  23.    
  24.     if ((F(a) * F(c)) <= 0.0f)
  25.     {
  26.       b = c;
  27.     }
  28.     else
  29.     {
  30.       a = c;
  31.     }
  32.   }
  33.   while (fabs(b - a) >= e);
  34.  
  35.   x = (a + b) / 2.0f;
  36.  
  37.   printf("x=%.2f\n", x);
  38.  
  39.   getchar();
  40.  
  41.   return 0;
  42. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут