Joao brandao Posted May 5, 2012 at 09:47 PM Report #453347 Posted May 5, 2012 at 09:47 PM Boas pessoal, estava aqui a tentar ver onde esta o erro e a tentar perceber o porque de isto dar erro nestas linhas sublinhadas mas n consigo :-S ja troquei para double na chamada da funçao, ja coloquei (int) em alguns sitios devido dizer que estava a passar de int para double e mesmo assim aquele erro continua :-S da erro nestas linhas : --> double process2(double num,int soma){ --> y=process2(num); #include <cstdlib> #include <iostream> #include <cmath> using namespace std; double process (double num){ return (floor(sqrt(num))*floor(sqrt(num))); } double process2(double num,int soma){ int a=(int)floor(sqrt(num)); int b=(int)(floor(sqrt(a))*floor(sqrt(a))); if(b==a) soma=2; else{ int c=a-b; int d=(int)floor(sqrt(c)); if(d+b==a) soma=3; } return soma; } int main() { int num; double x,y; cin>>num; x=process(num); if(x==num) cout<<num<<": 1 1\n"; else { y=process2(num); cout<<num<<": "<<y<<" 1\n"; } system("pause"); return 0; }
softklin Posted May 5, 2012 at 09:55 PM Report #453352 Posted May 5, 2012 at 09:55 PM A discussão continua em: http://www.portugal-a-programar.pt/index.php?showtopic=52832 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
Recommended Posts