Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2006, 07:34
jruiz_fdez
 
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 549
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación Problemas con la función sqrt

Hola amigos,

resulta que a mi hermano le han mandado hacer en clase un sencillo programa C que sirva para resolver una ecuación de segundo grado así que me puse a echarle una mano y éste es programa que finalmente creamos:

#include<stdio.h>
#include<math.h>
int main(){
float a, b, c, d;
printf("Se supone una ecuación de grado dos del tipo ax2+bx+c=0"
"\nIntroduzca el valor correspondiente a \"a\"");
scanf("%f", &a);
printf("Introduzca el valor correspondiente a \"b\"");
scanf("%f", &b);
printf("Introduzca el valor correspondiente a \"c\"");
scanf("%f", &c);
if(a==0.0)
if(b==0.0) /*Ecuación degenerada*/
printf("La ecuacion es degenerada\n");
else /*Ecuación de raíz única*/
printf("La ecuacion tiene una raiz unica igual a %.2f\n", -c/b);
else{
d=b*b-4*a*c; /*Discriminante*/
if(d>=0.0) /*Raíces reales*/
printf("Las soluciones de la ecuacion son %.2f y %.2f\n",
(-b+sqrt(d))/(2*a), (-b-sqrt(d))/(2*a));
else /*Raíces complejas*/
printf("La ecuación tiene por solución 2 raices complejas de la forma "
"x+yi, x-yi\n");
}
return 0;
}


Aparentemente el programa deberia funcionar a la perfección y cuál fue mi sorpresa cuando al compilar aparecen los siguientes errores:
undefined reference to 'sqrt'
undefined reference to 'sqrt'


Y no entiendo porqué le compilador dice que la función sqrt no está definida si en la línea 2 del programa está incluída la cabecera math.h

Yo trabajo con Linux y utilizo el compilador gcc y la única explicación que se me ha pasado por la cabeza es que a lo mejor el compilador no es capaz de acceder a las funciones de la librería math, ¿qué opinais vosotros? Yo es que en el código no veo ningún error por más que lo reviso.

Saludos y gracias de antemano por vuestra ayuda
__________________
Nadie dijo que ésto iba a ser fácil