Problema con codigo para raices cuadradas
Publicado por Gonzalo Segura (3 intervenciones) el 19/03/2007 20:09:46
Hola a todos, primero que nada me prensento, me llamo gonzalo, soy nuevo en lo de la programación en c, y tengo algunas dudas.
miren realize un código segun yo, para calcular raices cuadradas, ocupando el algorimo babilonico (mas info http://es.wikipedia.org/wiki/Ra%C3%ADz_cuadrada ), pero al momento de ejuctarlo no hace nada.. me regresa al compilador (ocupo Borland Turbo C++ IDE 3.0), abri el ejecutable y me arroja un error de punto flotante por una division por cero... pero en ninguna parte del código, segun yo, sucede eso, el mismo algoritmo lo aplique en mi calculadora, y me lo realiza sin problemas, a continuacion les pongo el código, espero que alguien me oriente en donde tengo el error.
de antemano muchas gracias
#include <stdio.h>
#include <conio.h>
main()
{
float x;
float b=1;
clrscr();
printf("Ingresa la raiz cuadrada a calcular \n");
scanf("%f",&x);
do{
b=x;
if(b==x/b){
printf("La raiz cuadrada de %f es %f",x,b);
}
else{
b=((1/2)*(x/b+b));
}
}while(b==x/b);
printf("La raiz cuadrada de %f es %f",x,b);
getche();
return 0;
}
miren realize un código segun yo, para calcular raices cuadradas, ocupando el algorimo babilonico (mas info http://es.wikipedia.org/wiki/Ra%C3%ADz_cuadrada ), pero al momento de ejuctarlo no hace nada.. me regresa al compilador (ocupo Borland Turbo C++ IDE 3.0), abri el ejecutable y me arroja un error de punto flotante por una division por cero... pero en ninguna parte del código, segun yo, sucede eso, el mismo algoritmo lo aplique en mi calculadora, y me lo realiza sin problemas, a continuacion les pongo el código, espero que alguien me oriente en donde tengo el error.
de antemano muchas gracias
#include <stdio.h>
#include <conio.h>
main()
{
float x;
float b=1;
clrscr();
printf("Ingresa la raiz cuadrada a calcular \n");
scanf("%f",&x);
do{
b=x;
if(b==x/b){
printf("La raiz cuadrada de %f es %f",x,b);
}
else{
b=((1/2)*(x/b+b));
}
}while(b==x/b);
printf("La raiz cuadrada de %f es %f",x,b);
getche();
return 0;
}
Valora esta pregunta


0