Cool C/C++

Programacion en C/C++

Home Foros
Bienvenido, Invitado
Por favor Identificarse o Registrarse.    Contraseña olvidada?

Elevar a la potencia.
(1 viendo) (1) Invitado
AbajoPágina: 1
TEMA: Elevar a la potencia.
#161
Elevar a la potencia. Creado el día: 09/09/2011 07:51 Karma: 0
Tengo un problema con este programa:
#include <stdio.h>

int elevar(int numero, int potencia);
int recursiva;
int comparar = 1;
int main()
{
int numero, potencia, resultado;

puts("Escriba un numero:");
scanf("%d", &numero);
puts("Escriba la potencia a la cual lo quiere elevar: ");
scanf("%d", &potencia);

resultado = elevar(numero, potencia);
printf("La potencia de %d elevado a %d es: %d\n", numero, potencia, resultado);
return 0;
}

int elevar(int numero, int potencia)
{
if (comparar == potencia)
{
return recursiva;
}
else if(potencia == 0 || potencia == 1)
{
return numero;
}
else if(comparar < potencia)
{
numero *= numero;
comparar ++;
recursiva = elevar(numero, potencia);
}
}


La idea es elevar la potencia a partir de una funcion recursiva. El problema esta en que cuando se lee la linea resultado = elevar(numero, potencia); el programa continua y no entra en la función para resolver el problema, por lo tanto la funcion regresa 0 y no entiendo porque.
davidbus
Navegador Iniciado
Mensajes: 7
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
Última edición: 09/09/2011 07:52 por davidbus.
El administrador ha deshabilitado la escritura pública.
 
#163
Re: Elevar a la potencia. Creado el día: 09/09/2011 11:24 Karma: 2
Falta un return...

La función podría quedar del siguiente modo:

int elevar(int numero, int potencia)
{
if (potencia == 0)
return 1;
 
else if (potencia == 1)
return numero;
 
/* No hace falta el else... */
return numero * elevar(numero, potencia - 1);
}
adrianvaca
Administrador
Mensajes: 110
graph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
El conocimiento es una forma de empezar a ser libre
 
#174
Re: Elevar a la potencia. Creado el día: 26/09/2011 08:14 Karma: 0
A ok ya entendí cual era el error, gracias el programa anda sin problemas.
davidbus
Navegador Iniciado
Mensajes: 7
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
 
ArribaPágina: 1
obtén los últimos mensajes directamente en tu escritorio