(Początkująćy) Prosty program w C, gdzie jest błąd?

0

Witam, niedawno zacząłem swoją przygodę z programowaniem. Mój program napisany pod Algorytm wygląda następująco:

#include <stdio.h>
#include <math.h>
#include<stdlib.h>
int main()
{
float  x1, x2, c, eps;
printf("Wpisz wartosc c\n");
scanf("%f",&c);
eps = 0.00001;
c = x1;
x2 = ( 0.5*( x1 + (c/x1) ) );
if ((fabs(x2-x1))<eps)
printf("x2 = %f \n", (fabs(x2-x1)));
else 
  do
  {
      x1=x2;
      x2 = ( 0.5*( x1 + (c/x1) ) );
      }
      while ((fabs(x2-x1))<eps);
system("PAUSE");
return 0;
}

Program kompiluje się poprawnie, jednak niczego nie liczy. Gdzie jest błąd?

0

Prawdopodobnie (bo nie napisane co ma program liczyć zamiast:

 if ((fabs(x2-x1))<eps)
printf("x2 = %f \n", (fabs(x2-x1)));
else 
  do
  {
      x1=x2;
      x2 = ( 0.5*( x1 + (c/x1) ) );
      }
      while ((fabs(x2-x1))<eps);

powinno być:

 

  do
  {
     if ((fabs(x2-x1))<eps)
         printf("x2 = %f \n", (fabs(x2-x1)));
     else 
     {
          x1=x2;
          x2 = ( 0.5*( x1 + (c/x1) ) );
     }
  }
  while ((fabs(x2-x1))<eps);
0

Dziękuję za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1