procedure puissance a l'aide

procedure puissance a l'aide - C++ - Programmation

Marsh Posté le 29-09-2003 à 20:31:23    

voila je debute en c++ et je cherche le moyen de calculer par iteration la puissance d'un nombre en entran le nombre et son exposant
 
merci de votre aide !!!!!!!

Reply

Marsh Posté le 29-09-2003 à 20:31:23   

Reply

Marsh Posté le 29-09-2003 à 20:33:42    

Je vois pas ce qu'il y a de puissant.... Tu seras vite limité par la capacité de stockage des variables plutôt...
 
sinon, tu connais la fonction pow() ?

Reply

Marsh Posté le 29-09-2003 à 20:35:17    

non conné pas

Reply

Marsh Posté le 29-09-2003 à 20:35:38    

c'est balot

Reply

Marsh Posté le 29-09-2003 à 20:37:14    

par itératio, tu fais récursif. mais je vois pas l'intérêt alors qu'une fonction standard existe...

Reply

Marsh Posté le 29-09-2003 à 20:37:32    

Version classique :
 

Code :
  1. double resultat = 1;
  2. for(int i=0; i<=exposant;i++)
  3. {
  4.   resultat *= variable;
  5. }


 
Version space :
 

Code :
  1. template<int EXP> double power(double var)
  2. {
  3.   return var*power<EXP-1>();
  4. }
  5. template<> double power<0>(double var)
  6. {
  7.   return 1;
  8. }


Message édité par Joel F le 29-09-2003 à 20:39:22
Reply

Marsh Posté le 29-09-2003 à 20:38:12    

chez joel F, 485^0 = 485
 
travail de qualité [:totozzz]
pis c n'importe quoi ton code :O
 

Code :
  1. template<int EXP> double power(double var)
  2.   {
  3.       return var*power<EXP-1>(var);
  4.   }
  5.  
  6.   template<> double power<0>(double var)
  7.   {
  8.       return 1;
  9.   }


Message édité par chrisbk le 29-09-2003 à 20:38:43
Reply

Marsh Posté le 29-09-2003 à 20:38:24    

exponiantiation logarithmique roulaize ;)


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 29-09-2003 à 20:38:44    

chrisbk a écrit :

chez joel F, 485^0 = 485
 
travail de qualité [:totozzz]
 


oups m'a trompé , j'edite :p

Reply

Marsh Posté le 29-09-2003 à 20:42:57    

une idéé avec un while ?????

Reply

Marsh Posté le 29-09-2003 à 20:42:57   

Reply

Marsh Posté le 29-09-2003 à 20:44:45    


 
vazy raconte moi ta jeunesse
 
tiens, Squizz, on efface ses posts ?
 
qui c'est qui raconte des conneries ici ? :O


Message édité par chrisbk le 29-09-2003 à 20:45:11
Reply

Marsh Posté le 29-09-2003 à 20:46:02    

chrisbk a écrit :


 
vazy raconte moi ta jeunesse
 
tiens, Squizz, on efface ses posts ?
 
qui c'est qui raconte des conneries ici ? :O


 
moi mais j'ai effacé mon post. (c'est ca de lire les posts en vitesse)

Reply

Marsh Posté le 29-09-2003 à 20:46:54    

SquiZz a écrit :


 
moi mais j'ai effacé mon post. (c'est ca de lire les posts en vitesse)


 
et de poster ensuite des remarques vexantes sur la base d'un post lu en vitesse [:mmmfff]
 
je demande le ban :O

Reply

Marsh Posté le 29-09-2003 à 20:48:14    

regisbest a écrit :

une idéé avec un while ?????


 

Code :
  1. // chrisbk bug fix :D
  2. double res = 1;
  3. while(exposant)
  4. {
  5.    res *= var;
  6.    exposant--;
  7. }

Reply

Marsh Posté le 29-09-2003 à 20:49:12    

double res = joelfPow(5,-58)
 
 
j'attends cbien de tps pour avoir le resultat ? :O
 
(je sais, ma gueule :O)

Reply

Marsh Posté le 29-09-2003 à 20:53:21    

chrisbk a écrit :

double res = joelfPow(5,-58)
 
 
j'attends cbien de tps pour avoir le resultat ? :O
 
(je sais, ma gueule :O)


 
non tu as raison :
 

Code :
  1. #include <cmath>
  2. double r = pow(var,exp);

Reply

Marsh Posté le 29-09-2003 à 20:54:36    

Joel F a écrit :


 
non tu as raison :
 

Code :
  1. #include <cmath>
  2. double r = pow(var,exp);




 
et on en parle pu :D
 
Squizz, boudes pas, reviens, on fera cuire des merguez le soir au coin du feu :O

Reply

Marsh Posté le 29-09-2003 à 20:55:09    

chrisbk a écrit :


 
et on en parle pu :D
 
Squizz, boudes pas, reviens, on fera cuire des merguez le soir au coin du feu :O


 
 [:spyer]

Reply

Marsh Posté le 29-09-2003 à 20:55:26    

ok bon je laisse tomber
 
je voulai une iteration par while mai je pige rien

Reply

Marsh Posté le 29-09-2003 à 20:55:52    

regisbest a écrit :

ok bon je laisse tomber
 
je voulai une iteration par while mai je pige rien


 
bon tu sais comment on calcule une puissance ?

Reply

Marsh Posté le 29-09-2003 à 20:57:11    

bah elle pas zoli ma puissance metaprogrammé  [:war3_orc]

Reply

Marsh Posté le 29-09-2003 à 20:57:23    

ba en c++ non !
sinon je demanderai pa !

Reply

Marsh Posté le 29-09-2003 à 21:00:19    

Code :
  1. double puissance (double avr, double exp )
  2. {
  3.    if( exp >= 0 )
  4.    {
  5.       double res = 1;
  6.       while(exposant)
  7.       {
  8.         res *= var;
  9.         exposant--;
  10.       }
  11.       return res;
  12.    }
  13.    else
  14.   {
  15.      double res = 1;
  16.      exposant = -exposant;
  17.     while(exposant)
  18.     {
  19.        res /= var;
  20.        exposant--;
  21.     }
  22.   }
  23. }

     
 
et qu'on t'y prenne plus a donner tes TP a faire a des gens inconnus

Reply

Marsh Posté le 29-09-2003 à 21:02:02    

regisbest a écrit :

ba en c++ non !
sinon je demanderai pa !

et google t'as dis quoi ? cherche de la doc sur <cmath> <math.h> pour une batterie de fonctions mathématiques

Reply

Marsh Posté le 29-09-2003 à 21:02:17    

version qui marche pas pour pleins de types  :kaola:  
 
template<typename T> T expLog(T nb, T exp)
{
  // if(exp<0) throw "va te faire mettre";
 
  if(exp==0) return 0;
  if(exp==1) return nb;
 
  T tmp = expLog(nb, exp/2);
  if(exp&1)
  {
    return nb*tmp*tmp;
  }
  else
  {
    return tmp*tmp;
  }
}


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 29-09-2003 à 21:02:21    

je voulai pa kon me la fasse juste avoir des infos.....
 
mai mersi ken meme

Reply

Marsh Posté le 29-09-2003 à 21:03:06    

chrisbk a écrit :


 
Squizz, boudes pas, reviens, on fera cuire des merguez le soir au coin du feu :O


 
ok, je prendrais bien 485^0 mergez  ;)  

Reply

Marsh Posté le 30-09-2003 à 08:50:55    

:hello:  
recursif x^n

Code :
  1. double pow(double x, int n)
  2. {
  3.     if (n==0) return 0.0;
  4.     return x*pow(x, n-1);
  5. }


tadaaa      [:ddsm]


---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 30-09-2003 à 08:57:02    

xiluoc a écrit :

:hello:  
recursif x^n

Code :
  1. double pow(double x, int n)
  2. {
  3.     if (n==0) return 1.0; // 1 c mieux :)
  4.     return x*pow(x, n-1);
  5. }




 
tadaaa      [:ddsm]   [:taimp]


Message édité par Joel F le 30-09-2003 à 08:57:38
Reply

Marsh Posté le 30-09-2003 à 08:57:11    

roo putain, mais comment vous me l'avez dégouté le newbie [:rofl]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-09-2003 à 09:00:28    

xiluoc a écrit :

:hello:  
recursif x^n

Code :
  1. double pow(double x, int n)
  2. {
  3.     if (n==0) return 0.0;
  4.     return x*pow(x, n-1);
  5. }


tadaaa      [:ddsm]  


 
super, la procedure coulix qui renvoit tjs 0 c'est du grand art.
Tu veux vraiment pas arreter la programmation pour je sais pas, moi, le tricot ?
 
 

Reply

Marsh Posté le 30-09-2003 à 09:13:04    

Au miens la mienne elle renvoyez x :D

Reply

Marsh Posté le 30-09-2003 à 10:32:23    

chrisbk a écrit :


 
super, la procedure coulix qui renvoit tjs 0 c'est du grand art.
Tu veux vraiment pas arreter la programmation pour je sais pas, moi, le tricot ?
 
 
 


    [:dams86]


Message édité par xiluoc le 30-09-2003 à 10:33:03

---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 30-09-2003 à 10:33:23    


 
c sur que 5 puissance 4 ca fait 0
tiens encore un qui edite son messgae
 
alors de memoire :"Bande de lopette ca doit renvoyer 0, allez tous faire du tricot"
 
vous reflechissez des fois, avant de poster ? :O


Message édité par chrisbk le 30-09-2003 à 10:34:03
Reply

Marsh Posté le 30-09-2003 à 10:35:46    

chrisbk a écrit :


 
c sur que 5 puissance 4 ca fait 0
tiens encore un qui edite son messgae
 
alors de memoire :"Bande de lopette ca doit renvoyer 0, allez tous faire du tricot"
 
vous reflechissez des fois, avant de poster ? :O


re     [:dams86]  
putain vite faut que j aille faire un tour dans le topic des hontes.
 


---------------
jeunes con de la derniere averse, vieux con des neiges d'antant.
Reply

Marsh Posté le 30-09-2003 à 11:03:02    

bien vu, mais n**0 = 1

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed