elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con pow()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con pow()  (Leído 2,706 veces)
-Gtz-

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Problema con pow()
« en: 6 Abril 2012, 04:13 am »

Hola que tal, veran al compila este programa:

Código:
#include <stdio.h>
#include <math.h>

int main(void)
{
float lado, abase, alateral, atotal, volumen;

printf("Introduzca la medida del lado del cubo: ");
scanf("%f", &lado);

abase = pow(lado, 2);
alateral = 4 * abase;
atotal = 6 * abase;
volumen = pow(lado, 3);

printf("el area de la base es %.2f, el area lateral %.2f, al area total %.2f y el volumen es %.2f", abase, alateral, atotal, volumen);

al compilarlo me aparece:

Citar
ps113.c:14: undefined reference to 'pow'
collect2: ld returned 1 exit status

parece que el error esta en el segundo pow(), pero si cambio el 3 del exponente por un 2 como el primero si me lo compila, por que pasa estos con algún otro valor diferente a 2?
Claro que lo puedo evitar poniendo:

Código:
volumen = lado * lado * lado

pero quiero saber por que me tira el error.


« Última modificación: 6 Abril 2012, 04:28 am por -Gtz- » En línea

Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Problema con pow()
« Respuesta #1 en: 6 Abril 2012, 05:28 am »

Eso es común en gcc.

Sí estás compilando desde consola solo tenés que agregarle -lm:
Código:
gcc main.c -o main -lm


« Última modificación: 6 Abril 2012, 05:30 am por CrisQC » En línea

-Gtz-

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Problema con pow()
« Respuesta #2 en: 6 Abril 2012, 05:53 am »

Si creo que -lm es para que al compilar en gcc puedas usar sin nungun problema la libreria math.h, eso lo comprendo, lo que no es entiendo es por que asi no me compila:

Código:
abase = pow(lado, 2);
alateral = 4 * abase;
atotal = 6 * abase;
volumen = pow(lado, 3);

pero si cambio el 3 por un 2:

Código:
abase = pow(lado, 2);
alateral = 4 * abase;
atotal = 6 * abase;
volumen = pow(lado, 2);

me compila sin ningun problema

Nota: Uso el compilador ZinjaI en Fedora 16
En línea

-Gtz-

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Problema con pow()
« Respuesta #3 en: 6 Abril 2012, 06:14 am »

Que tonto soy, sorry sorry, bueno parece es un problema del compilador, lo compile desde terminal y me lo compilo perfectamente, creo que debí haber hecho eso desde un principio, aunque no entiendo por que actua de esa manera el compilador?
En línea

GROV

Desconectado Desconectado

Mensajes: 23



Ver Perfil WWW
Re: Problema con pow()
« Respuesta #4 en: 7 Abril 2012, 04:00 am »

Así es, es un problema del compilador, he usado ZinjaI varias veces, y es muy atractivo debo admitirlo y tiene cosillas interesantes pero también me he topado con alguno que otro problemita, como este por ejemplo.

Saludos afectuosos!!
En línea

"Ningún problema debe de resolverse dos veces"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema BlueZScanner y problema de conexión
Hacking Mobile
Kasswed 3 6,318 Último mensaje 6 Mayo 2006, 22:04 pm
por Gospel
Problema Css o problema con el sidebar
Desarrollo Web
gaboomsk8 6 3,579 Último mensaje 27 Diciembre 2011, 21:56 pm
por gaboomsk8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines