viciado 1 Denunciar post Postado Novembro 8, 2008 Programa que realize a potenciação por meio de multiplicações sucessivas e esta por meio de adição. #include <stdio.h> #include <stdlib.h> int sm(int n){ int i, soma; soma=0; for(i=0; i<n; i++){ soma = soma + n; } return(soma); } int mtp(int n, int e){ int i, mult; mult = 0; for(i=0; i<e; i++){ mult = mult + sm(n); } return(mult); } int main(){ int n,e; printf("Digite o numero e o grau na qual sera elevado\n"); scanf("%d %d",&n,&e); if(n==0){ printf("O resultado e 0 \n"); } if(e==0){ printf("O resultado e 1 \n"); } else{ printf("O resultado e \n %d \n",mpt(n,e)); } system("PAUSE"); return 0; } Erro: undefined reference to 'mpt' Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Novembro 8, 2008 mpt() ou mtp()? Preste atenção nos nomes das funções Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Novembro 9, 2008 Claro vlw. Mais acho q tem problema de logica no codigo Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Novembro 9, 2008 mpt() ou mtp()? Preste atenção nos nomes das funções Arrumei so que tem algum problema de logica. #include <stdio.h> #include <stdlib.h> int sm(int n){ int i, soma; soma=0; for(i=0; i<n; i++){ soma = soma + n; } return(soma); } int mtp(int n, int e){ int i, mult; mult = 0; for(i=0; i<e; i++){ mult = mult + sm(n); } return(mult); } int main(){ int n,e; printf("Digite o numero e o grau na qual sera elevado\n"); scanf("%d %d",&n,&e); if(n==0){ printf("O resultado e 0 \n"); } if(e==0){ printf("O resultado e 1 \n"); } else{ printf("O resultado e \n %d \n",mtp(n,e)); } system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
kloster 0 Denunciar post Postado Novembro 9, 2008 Edit: analisando o codigo acima acho que ficaria melhor desse jeito:(retirei a função sm() e modifiquei a função mtp()) #include <stdio.h> int mtp(int n, int e){ register int i, mult; mult = 1; for(i=0; i<e; i++){ mult = mult*n; } return(mult); } int main(){ int n,e; printf("Digite o numero e o grau na qual sera elevado\n"); scanf("%d %d",&n,&e); if(n==0){ printf("O resultado e 0 \n"); } if(e==0){ printf("O resultado e 1 \n"); } else{ printf("O resultado e \n %d \n",mtp(n,e)); } system("PAUSE"); return 0; } Olá Eu testei aqui e apenas multiplica a base pelo expoente. Tente usar a logica do codigo abaixo. Abraços #include<stdio.h> int main() { int b, e, resultado; resultado = 1; printf("Base:\n"); scanf("%d", &b); printf("Expoente:\n"); scanf("%d", &e); if(b==0) printf("Resultado: 0"); if(e==0) printf("Resultado: 1"); if(b!=0 && e!=0) { register int i; for(i=0;i<e;i++) { resultado = resultado*b; } printf("Resultado: %d\n", resultado); } system("pause"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Novembro 9, 2008 Edit: analisando o codigo acima acho que ficaria melhor desse jeito:(retirei a função sm() e modifiquei a função mtp()) #include <stdio.h> int mtp(int n, int e){ register int i, mult; mult = 1; for(i=0; i<e; i++){ mult = mult*n; } return(mult); } int main(){ int n,e; printf("Digite o numero e o grau na qual sera elevado\n"); scanf("%d %d",&n,&e); if(n==0){ printf("O resultado e 0 \n"); } if(e==0){ printf("O resultado e 1 \n"); } else{ printf("O resultado e \n %d \n",mtp(n,e)); } system("PAUSE"); return 0; } Olá Eu testei aqui e apenas multiplica a base pelo expoente. Tente usar a logica do codigo abaixo. Abraços #include<stdio.h> int main() { int b, e, resultado; resultado = 1; printf("Base:\n"); scanf("%d", &B); printf("Expoente:\n"); scanf("%d", &e); if(b==0) printf("Resultado: 0"); if(e==0) printf("Resultado: 1"); if(b!=0 && e!=0) { register int i; for(i=0;i<e;i++) { resultado = resultado*b; } printf("Resultado: %d\n", resultado); } system("pause"); return 0; } O seu codigo funciona o problema e que estou tentando fazer como ta na ordem do exercicio Compartilhar este post Link para o post Compartilhar em outros sites