iteration --> recursion aide algo simple

iteration --> recursion aide algo simple - Algo - Programmation

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

:hello:  
problem :
j ai une string CAGE
je dois afficher CA CG CE AG AE GE
 
iteratif en c ++

Code :
  1. void foo( string & s)
  2. {
  3.    int l = s.length();
  4.    for (int i=0; i<l; i++)
  5.    {
  6.         for(int j=i+1; j<l; j++)
  7.         {
  8.               cout << s[i] << s[j] << endl;
  9.         }
  10.    }
  11. }


 
ca c est "facile"
 
mais par contre je me casse les dents quand i ls agit rendre cette fonction recursive.
j avais essayer de renvoyer s.substr(1,0) mais j utilisais toujours une boucle :/
 
 :sweat:


Message édité par xiluoc le 20-09-2003 à 14:45:00

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

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

Reply

Marsh Posté le 20-09-2003 à 15:26:39    

:sweat:


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

Marsh Posté le 20-09-2003 à 15:58:15    

Code :
  1. void foo_r_helper(const string &s, size_t len, size_t i, size_t j)
  2. {
  3.   if(i==len)
  4.     {
  5.       return;
  6.     }
  7.   if(j==len)
  8.     {
  9.       return foo_r_helper(s, len, i+1, i+2);
  10.     }
  11.   cout << s[i] << s[j] << ' ';
  12.   return foo_r_helper(s, len, i, j+1);
  13. }
  14.  
  15. inline void foo_r(const string & s)
  16. {
  17.   foo_r_helper(s, s.length(), 0, 1);
  18. }

Reply

Marsh Posté le 20-09-2003 à 16:13:49    

Taz a écrit :

Code :
  1. void foo_r_helper(const string &s, size_t len, size_t i, size_t j)
  2. {
  3.   if(i==len)
  4.     {
  5.       return;
  6.     }
  7.   if(j==len)
  8.     {
  9.       return foo_r_helper(s, len, i+1, i+2);
  10.     }
  11.   cout << s[i] << s[j] << ' ';
  12.   return foo_r_helper(s, len, i, j+1);
  13. }
  14.  
  15. inline void foo_r(const string & s)
  16. {
  17.   foo_r_helper(s, s.length(), 0, 1);
  18. }




 
:cry: dis moi que c etait pas super facile   :whistle:  
merci O taz  :jap:  :jap:
 
au fait le inlineil sert a quoi ?


Message édité par xiluoc le 20-09-2003 à 16:15:17

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

Marsh Posté le 20-09-2003 à 16:19:04    

a inliner

Reply

Marsh Posté le 20-09-2003 à 16:22:37    


non sans blague ?


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

Marsh Posté le 20-09-2003 à 16:23:35    

à substituer l'appel de la fonction par son corps sans introduire d'effet de bord comme une macro. on « inline » quand le cout d'appel de la fonction est significatif par rapport au temps de d'exécution de la fonction

Reply

Marsh Posté le 20-09-2003 à 16:25:26    

xiluoc a écrit :


non sans blague ?


 
si, mais le repete pas

Reply

Marsh Posté le 20-09-2003 à 16:34:19    

Taz a écrit :

à substituer l'appel de la fonction par son corps sans introduire d'effet de bord comme une macro. on « inline » quand le cout d'appel de la fonction est significatif par rapport au temps de d'exécution de la fonction


[:dams86]  
 


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

Sujets relatifs:

Leave a Replay

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