Problème lors de l'exécution
Bonsoir,
J'ai un petit soucis avec un programme que j'ai fait; je veux créer une arbre dont la taille n'est pas fixe (selon les zéros d'un tableau que contient le nœud parent)
Alors je fais une itération de 1 à nombre_de_zeros, à chaque itération je fais une allocation (voir ci-dessous la classe et la fonction qui fait le job). Le problème c'est que lorsque je fais le test de la fonction " void config::niveau_suivant() " l'exécutable est bloqué.
Je pense qu'il y a un problème avec la méthode utilisée (surtout que je débute avec C++).
Merci d'avance pour votre aide ;)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class config
{
int vcoups[9];
config *fille;
config *soeur;
public:
config(){for(int i=0;i<9;i++) vcoups[i]=0;fille=NULL;soeur=NULL;valeur=-1000;}
config(const config& C){for(int i=0;i<9;i++) vcoups[i]=C.vcoups[i];fille=NULL;soeur=NULL;valeur=C.valeur;}
config *Fille(){return fille;}
config *Soeur(){return soeur;}
int Vcoups(int i)const {return vcoups[i-1];}
int & Vcoups(int i) {return vcoups[i-1];}
void niveau_suivant();
}; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| void config::niveau_suivant()//creer les configurations du niveau suivant, des vecteur qui ont initialement les memes cases de la mere
{
int i=0,j;
for(j=0;j<9;j++) if(Vcoups(i)==0) i++;//nombre de coups possibles
if (i!=0)
{
fille=new config;
fille->Valeur()=111;
config *p=fille;
for(j=1;j<i;j++)
{
p->soeur=new config;
p=p->soeur;
}
}
} |