Como recordatorio de la manera de hacer bibliotecas de funciones y de las técnicas recursivas, se propuso como ejercicio implementar una biblioteca de funciones con una función potencial y otra factorial. A continuación se muestra dicha biblioteca con versiones recursivas y no recursivas.
Próximamente más.
pot_fac.h
#ifndef __pot_fac__
#define __pot_fac__
int potencial_nr(int, int);
int potencial_r(int, int);
int factorial_nr(int);
int factorial_r(int);
#endif
pot_fac.c
#include "pot_fac.h"
int potencial_nr(int valor, int potencia)
{
int i, resultado;
resultado = 1;
for (i=0; i0; i--)
resultado *= i;
return resultado;
}
//---------------------------------------------
int factorial_r(int valor)
{
if (valor == 1)
return 1;
return valor * factorial_r(valor-1);
}
prueba_pot_fac.c
#include "pot_fac.h"
int main() {
int resultado;
resultado=potencial_nr(4, 3);
printf("4 elevado a 3 %i (no resursivo)\n", resultado);
resultado=potencial_r(3, 3);
printf("3 elevado a 3 %i (resursivo)\n", resultado);
resultado=factorial_nr(4);
printf("4 factorial %i (no resursivo)\n", resultado);
resultado=factorial_r(6);
printf("6 factorial %i (resursivo)\n", resultado);
return 0;
}
No comments:
Post a Comment