Нахождение квадратного корня - C (СИ)

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

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

написать программу для нахождения квадратного корня четырьмя методами: половинного деления, Ньютона (метод касательных), хорд, последовательных приближений. Найти коренные уравнения вида f размещенной на интервале с абсолютной погрешностью ε . Также найти число итераций, необходимых для нахождения корня.(еще ету прогу нужно написать с помощю кейса, тоисть чтоби можно біло вібрать какой я хочу видеть метод на екране ) f(x)=x^2-ln(1+x)-3, отрезок [2;3], абсолютна погр. 10^(-4) Вот я зделал но у меня не работает, может ктото ошибку наидет?
#include<stdio.h>
#include<math.h>
int main()
{
  float a=2,b=3,EPS=0.0001;
  float x4,x3,x2,x1,x,d,u,q,w;
  int n,n2,n3,n4, v;
  
  v = 4;
 
  q=a;
  w=b;
  n=0;
  n2=0;
  n3=0;
  n4=0;
  do
  {
    x=(q+w)/2;
    u=x*x-log(1+x)-3;
    if((x*x-log(1+x)-3)*u<0)
    w=x;
    else  q=x;
    n=n+1;
    d=fabs(w-q);
   }
 while(d>EPS);
 do
   {
     x2=w-(w*w-log(1+w)-3)*(w-q)/(w*w-log(1+w)-3)-(q*q-log(1+q)-3);
          d=fabs(q-w);
     if(d>EPS)
      {
        q=w;
        w=x2;
       }
      n2=n2+1;
    }
 while(d>EPS);
    x1=(a+b)/2;
   do
    {
      n3=n3+1;
      x3=x1-(x1*x1-log(1+x1)-3)/(2*x1-1/(x1+1));
      d=fabs(x3-x1);
      if(d>EPS)
      x1=x3;
     }
 while(d>EPS);
  do
    {
      x4=x1*x1-log(1+x1)-3;
      n4=n4+1;
     d=fabs(x4-x1);
     x1=x4;
    }
 while(d>EPS);
 printf("\n Vuberit metod jakuy vu xochete pobachutu na ekrani\n");
 printf("metod 1 -\n metod 2 -\n metod 3 -\n metod 4 -\n shchob vuytu - 5\n");
 
 switch(v)
 {
          case 1: 
          printf("==1== %f %i ",x,n);
          break;
          case 2: 
          printf("==2== %f %i ",x2,n2);
          break;
          case 3:
          printf("==3== %f %i ",x3,n3);
          break;
          case 4:
          printf(" %f %d ",x4,n4);
          break;
          case 5: return 0;
 }
 getchar();
 system("PAUSE");
 return 0;
}

Решение задачи: «Нахождение квадратного корня»

textual
Листинг программы
char key;
key = getch();
switch(key){
case '1' :
   ...твой код
   break;
case '2':
.............

Объяснение кода листинга программы

  1. В начале программы объявлена переменная типа char с именем key.
  2. Значение переменной key присваивается символу, полученному с помощью функции getch().
  3. Далее, с помощью оператора switch, обрабатываются различные варианты значения переменной key.
  4. Для каждого варианта значения переменной key выполняется соответствующий блок кода.
  5. После выполнения всех блоков кода, программа завершается.

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


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

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

5   голосов , оценка 4 из 5
Похожие ответы