Título: Elevar un número a una potencia en C Publicado por: eaguel en 21 Noviembre 2012, 09:41 am Hola, bueno días veréis estaba haciendo este programa:
Código
pero no se porque esta expresión no funciona Código ¿Me podéis iluminar con vuestra sabiduría ;D? Título: Re: Elevar un número a una potencia en C Publicado por: тαптяα en 21 Noviembre 2012, 10:15 am Tio eres tonto o que?
Para hacer potencias en C tienes la función pow definida en la libreria math.h Mira los errores que te da tu compilador colega Título: Re: Elevar un número a una potencia en C Publicado por: тαптяα en 21 Noviembre 2012, 10:18 am http://www.cplusplus.com/reference/clibrary/cmath/pow/
Título: Re: Elevar un número a una potencia en C Publicado por: Ruso_x en 21 Noviembre 2012, 10:18 am Con respecto a lo que ha dicho mi compañero añado:
Busca aqui ;D http://en.cppreference.com/w/c/numeric/math/pow Saludos Título: Re: Elevar un número a una potencia en C Publicado por: eaguel en 21 Noviembre 2012, 10:45 am El problema esta en que no puedo usar la librería libreria math.h
sino que tengo que usar el archivo .h que me dan que contiene: Código
Título: Re: Elevar un número a una potencia en C Publicado por: Oblivi0n en 21 Noviembre 2012, 11:43 am Asi de simple, creo que esto debería de funcionar
Código
Título: Re: Elevar un número a una potencia en C Publicado por: eaguel en 21 Noviembre 2012, 12:21 pm Ahora si funciona pero ¿habría alguna posibilidad de poner los printf en la función potencia sin joderlo todo?, lo he estado intentando y se me cambian los valores.
Título: Re: Elevar un número a una potencia en C Publicado por: Oblivi0n en 21 Noviembre 2012, 12:47 pm Si, metiendo las variables num1 y num2 en la funcion potencia, no como parametros, en caso de querer usarlas como paramatros, haciendo uso de punteros
Título: Re: Elevar un número a una potencia en C Publicado por: eaguel en 21 Noviembre 2012, 12:58 pm A ver si me aclaro :-\ que estoy ya amargao con la porquería esta :D
He hecho esto: Código El problema esta en que solo realiza printf y scanf todo el rato , para solucionarlo ¿podría introducir un blucle do-while no? Pd: Muchas gracias por tu amabilidad y ayuda Oblivi0n Título: Re: Elevar un número a una potencia en C Publicado por: rir3760 en 21 Noviembre 2012, 20:29 pm El problema esta en que no puedo usar la librería libreria math.h Honestamente como ejemplo del uso de macros en C es, de parte de tu profesor, uno muy malo.sino que tengo que usar el archivo .h que me dan que contiene: Código
El objetivo de las macros es hacer el código fuente mas claro y fácil de seguir y, por ello, menos propenso a los errores. Considerando eso ultimo si comparamos: Código Resulta obvio que es mas difícil detectar errores en la llamada que utiliza la macro "T_RESULTADO" que en la que utiliza la literal. El problema esta en que solo realiza printf y scanf todo el rato , para solucionarlo ¿podría introducir un blucle do-while no? Correcto, debes cambiar el proceso de uno recursivo a uno iterativo. También hay que cambiar la función eliminando los parámetros y cambiando su tipo de retorno a "void".El programa con las correcciones: Código
Edito: el uso de las macros te toca a ti. En buen plan: yo no las toco ni con un palito. Un saludo Título: Re: Elevar un número a una potencia en C Publicado por: Kuko91 en 23 Noviembre 2012, 14:34 pm Me temo que tenemos la misma practica para entregar el lunes.. Pero no se te olvida declarar la funcion leeNumero????
Título: Re: Elevar un número a una potencia en C Publicado por: eaguel en 24 Noviembre 2012, 15:22 pm JeJe, si ya conseguí hacerlo con la función leeNumero y con la aportación de Oblivi0n
¿Estas en la ETSI? Título: Re: Elevar un número a una potencia en C Publicado por: peternash en 10 Diciembre 2012, 21:39 pm Pero esta función de potencia no puede hacer potencias de número negativo.
Yo una vez hice este ejemplo, un poco sucio, pero que te lo comparto para ver si te sirve: Código: double potencia (double base, int exp) No sé si sirve con exponentes en fracciones. EN el caso de la potencia indeterminada 00 (cero elevado a cero) aún no lo había resuelto, pero se puede utilizar una plantilla numeric_limits para invocar la función miembro estática, 'quiet_NaN()', o hacer un return 0.0 / 0.0. Título: Re: Elevar un número a una potencia en C Publicado por: aramis en 13 Mayo 2019, 23:58 pm si no queres usar las math podes hacer lo siguiente
#include<stdio.h> main(){ int potencia=1,base,exponente,i; printf("ingrese numero base\n"); scanf("%i", &base); printf("ingrese exponente\n"); scanf("%i", &exponente); for(i=0;i<exponente;i++){ potencia=potencia*base; } printf("la potencia es: %i\n" , potencia); } |