ateixeirafilho Postado Março 24, 2008 Denunciar Share Postado Março 24, 2008 E ai galera,É meio besta mais eu sou iniciante e não to conseguindo achar o problema.Programa que pede ao usuário um numero e o seu expoente, a função tem que ser recursiva, segue o que eu fiz, ele compila mas não roda...#include<stdio.h>int potencia(int num,int pot);int num=0,pot=0,result=0;main(){ printf("\nEntre com o numero"); scanf("%d",&num); printf("\nEntre com a potencia"); scanf("%d",&pot); if(pot==0) { printf("1"); } else result=(num); potencia(num,pot); system("PAUSE"); }potencia(int num, int pot){ pot--; while (pot!=0) { result=(result*num); potencia(num,pot); return (result); } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Março 24, 2008 Denunciar Share Postado Março 24, 2008 Você pode utilizar a função pow da math.h.double pow ( double base, double exponent );long double pow ( long double base, long double exponent ); float pow ( float base, float exponent );Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ateixeirafilho Postado Março 24, 2008 Autor Denunciar Share Postado Março 24, 2008 Você pode utilizar a função pow da math.h.double pow ( double base, double exponent );long double pow ( long double base, long double exponent ); float pow ( float base, float exponent );Abraços.Poderia ser, mas precisa ter uma função recursiva...abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest quitZAUMMM Postado Março 25, 2008 Denunciar Share Postado Março 25, 2008 Olha meu professor passo isso pra mim também vo te passar em Portugues Estruturado ai você da uma analizada e passa pra C, não vo passar pra você porque você tem q "ralar" um poquinho não é? hehe!Procedimento Potencia(inteiro x, inteiro n) Inteiro potenciax; Potencia <- 0; Inicio Se (n = 0) então Potenciax <- 1; Senão Potenciax <- x * potencia(x, n-1); Fim_se Escreva(“A potência é de: “ + potenciax”); Fim; Fim_Procedimento; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ateixeirafilho Postado Março 26, 2008 Autor Denunciar Share Postado Março 26, 2008 Olha meu professor passo isso pra mim também vo te passar em Portugues Estruturado ai você da uma analizada e passa pra C, não vo passar pra você porque você tem q "ralar" um poquinho não é? hehe!Procedimento Potencia(inteiro x, inteiro n) Inteiro potenciax; Potencia <- 0; Inicio Se (n = 0) então Potenciax <- 1; Senão Potenciax <- x * potencia(x, n-1); Fim_se Escreva(“A potência é de: “ + potenciax”); Fim; Fim_Procedimento;Valeu Companheiro...Ficou xique bala..se alguém precisar, segue o código pronto...#include<stdio.h>int potencia(int,int);int num=0,pot=0,retorno=0;main(){ printf("\nEntre com o numero"); scanf("%d",&num); printf("\nEntre com a potencia"); scanf("%d",&pot); potencia(num,pot); retorno=potencia(num,pot); ("\n"); printf("%d",retorno); system("PAUSE"); } //Inicio da Funçãopotencia(num,pot){ if (pot==0) { retorno=1; } else retorno= num*potencia(num,pot-1); return (retorno);}//Fim da Função Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest quitZAUMMM Postado Março 26, 2008 Denunciar Share Postado Março 26, 2008 ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ateixeirafilho
E ai galera,
É meio besta mais eu sou iniciante e não to conseguindo achar o problema.
Programa que pede ao usuário um numero e o seu expoente, a função tem que ser recursiva, segue o que eu fiz, ele compila mas não roda...
#include<stdio.h>
int potencia(int num,int pot);
int num=0,pot=0,result=0;
main()
{
printf("\nEntre com o numero");
scanf("%d",&num);
printf("\nEntre com a potencia");
scanf("%d",&pot);
if(pot==0)
{
printf("1");
}
else
result=(num);
potencia(num,pot);
system("PAUSE");
}
potencia(int num, int pot)
{
pot--;
while (pot!=0)
{
result=(result*num);
potencia(num,pot);
return (result);
}
}
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.