[c++] pitit prog qui marche chez moi, mais pas sur le pc de l'école :(

pitit prog qui marche chez moi, mais pas sur le pc de l'école :( [c++] - Programmation

Marsh Posté le 12-12-2001 à 15:05:16    

ca marche chez moi (win98 + builder5)
marche pas à l'école (windows 2000 + builder5)
 
si quelqu'un sait pourquoi...
 
(c'est une pitite fct recursive qui, quand on rentre 'n' affiche toutes les permutations de 0 -> n-1)
 

Code :
  1. #include <vcl.h>
  2. #include <iostream.h>
  3. #include <string.h>
  4. /*
  5. fonction permutation:
  6. Pour chaque lettre, la garder en memoire et permuter la suite.
  7. On s'arrête lorsqu'il n'y a plus qu'un lettre.
  8. */
  9. void permutation(string memorisage, string reste)
  10. {
  11. if (reste.size() == 1)
  12. {
  13.  cout << memorisage << reste << "\n";
  14. }
  15. else
  16. {
  17.  for (char *position = reste.begin() ; position < reste.end() ; position++)
  18.  {
  19.   char lettre = *position;
  20.   reste.erase(position);
  21.   permutation(memorisage + lettre, reste);
  22.   reste.insert(position, lettre);
  23.  }
  24. }
  25. }
  26. main()
  27. {
  28.    int attendre;
  29.    int n;
  30.    char z;
  31.    string mot="";
  32.    cin >> n;
  33.    for(int i=0;i<n;i++)
  34.    {
  35.       z=char(i+48);   // pour transformer char(i) en i ; char i
  36.       mot += z;
  37.    }
  38.    permutation("", mot); // appel de la fonction récursive
  39.    cin >> attendre;  //  pour avoir le temps de voir le résultat
  40. }


---------------
oui oui
Reply

Marsh Posté le 12-12-2001 à 15:05:16   

Reply

Marsh Posté le 12-12-2001 à 16:36:22    

Ca marche, ça marche pas : il se passe quoi précisément ? Ca déraille, ou y a erreur quelconque ?
 
C'est sous l'environnement Builder ("live" ) ou compilé autonome ?
 
NB : j'ai hate de me mettre au C++ pour faire mot += z; en C, c'est plus compliqué... :D

Reply

Marsh Posté le 12-12-2001 à 16:39:58    

c'est sous builder 5 enterprise dans les deux cas.
 
 
A mon école, apparemment, y a une erreur d'allocation mémoire je sais pas quoi...
 
il me fait l'erreur après que j'ai entré 'n'


---------------
oui oui
Reply

Marsh Posté le 12-12-2001 à 16:45:05    

bah debug land :D ....
 
F10.. F10.. F10 ....

Reply

Marsh Posté le 12-12-2001 à 16:54:44    

ca fait quoi F10
 
Ca fait juste 1 semaine que je programme dans un truc qui compile machin.
 
Je sais juste qu'une fois mon programme fait, faut que je clique sur le pitit triangle vert :sweat:


---------------
oui oui
Reply

Marsh Posté le 14-12-2001 à 09:09:30    

euh, j'ai fait F10, mais ca fait rien :??:  
 
 
sinon, y a moyen de vérifier pas à pas un programme (toujours sous c++builder 5 enterprise ?)
 
 
 
 :jap:

Reply

Marsh Posté le 14-12-2001 à 09:37:07    

oui en mettant des breakpoints (points d'arret)

Reply

Marsh Posté le 14-12-2001 à 10:21:52    

merci


---------------
oui oui
Reply

Sujets relatifs:

Leave a Replay

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