Insertion structure
Fermé
fallout
-
25 mars 2009 à 12:29
angebrune8 Messages postés 22 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 26 mars 2009 - 26 mars 2009 à 01:51
angebrune8 Messages postés 22 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 26 mars 2009 - 26 mars 2009 à 01:51
A voir également:
- Insertion structure
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Touche insertion clavier - Guide
8 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 mars 2009 à 14:57
25 mars 2009 à 14:57
Salut,
A priori, tu n'envoies pas l'adresse de ta structure dans la fonction inserer_structure, ce qui explique peut-être ton problème.
Pourrais-tu poster le code de la fonction inserer_structure ? Ainsi que la définition de la structure ?
Cdlt
A priori, tu n'envoies pas l'adresse de ta structure dans la fonction inserer_structure, ce qui explique peut-être ton problème.
Pourrais-tu poster le code de la fonction inserer_structure ? Ainsi que la définition de la structure ?
Cdlt
merci pour ta réponse voici le code que tu m'as demandé! lorrsque je fais un test avec inserer_b_arbre_entier(b,5);
insere_b_arbre_entier(b,18)... ca marche bien ca ne viendrait pas de la variable var?
struct b_arbre_entier{
b_arbre deleg;
};
struct b_arbre{
noeud racine;
int ordre;
int(*compare)(const void *,const void *);
void(*affiche)(const void*,const void*,int c);
size_t taille;
};
void
inserer_b_arbre(b_arbre self,void* e)
{
noeud r=self->racine;
if(getnb_cles(r)==2*self->ordre-1)
{
noeud s=creer_noeud(self->ordre,self->taille);
self->racine =s;
modifier_feuille(s,false);
modifier_nb_cles(s,0);
noeud_allouer_fils(s,2*self->ordre*(sizeof(getfils(self->racine))));
modifier_fils_i(s,r,0);
partager_enfant(self,s,0,r);
inserer_b_arbre_incomplet(self,s,e);
}
else
inserer_b_arbre_incomplet(self,r,e);
}
insere_b_arbre_entier(b,18)... ca marche bien ca ne viendrait pas de la variable var?
struct b_arbre_entier{
b_arbre deleg;
};
struct b_arbre{
noeud racine;
int ordre;
int(*compare)(const void *,const void *);
void(*affiche)(const void*,const void*,int c);
size_t taille;
};
void
inserer_b_arbre(b_arbre self,void* e)
{
noeud r=self->racine;
if(getnb_cles(r)==2*self->ordre-1)
{
noeud s=creer_noeud(self->ordre,self->taille);
self->racine =s;
modifier_feuille(s,false);
modifier_nb_cles(s,0);
noeud_allouer_fils(s,2*self->ordre*(sizeof(getfils(self->racine))));
modifier_fils_i(s,r,0);
partager_enfant(self,s,0,r);
inserer_b_arbre_incomplet(self,s,e);
}
else
inserer_b_arbre_incomplet(self,r,e);
}
angebrune8
Messages postés
22
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
26 mars 2009
25 mars 2009 à 16:04
25 mars 2009 à 16:04
ou es tu fiddy
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 mars 2009 à 16:37
25 mars 2009 à 16:37
Re,
J'ai demandé la fonction inserer_structure() ;-)).
Poste le programme en entier. Elimine les parties inutiles, et n'oublie pas d'utiliser la balise "code" pour respecter l'indentation.
J'ai demandé la fonction inserer_structure() ;-)).
Poste le programme en entier. Elimine les parties inutiles, et n'oublie pas d'utiliser la balise "code" pour respecter l'indentation.
angebrune8
Messages postés
22
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
26 mars 2009
25 mars 2009 à 16:51
25 mars 2009 à 16:51
struct b_arbre_entier{ b_arbre deleg; }; struct b_arbre{ noeud racine; int ordre; int(*compare)(const void *,const void *); void(*affiche)(const void*,const void*,int c); size_t taille; }; void inserer_b_arbre_entier(b_arbre_entier self,int elem) { int * entier = malloc(sizeof *entier); if (entier) { entier[0] = elem; inserer_b_arbre_incomplet(self->deleg, entier); } else fprintf(stderr, "entrer entier.\n" ); } void inserer_b_arbre_incomplet(b_arbre self,noeud x, void* e) { if(getnb_cles(x)==0){ // si la structure est vide ono insere directement modifier_cles_i(x,e,0); modifier_nb_cles(x,1); } else{ int i=getnb_cles(x)-1; if(getfeuille(x)) { while(i>=0 && self->compare(*(getcles(x)+i),e)>0) i--; memmove((getcles(x)+i+2),(getcles(x)+i+1),(getnb_cles(x)-i-1)*self->taille);//on decale pour inserer modifier_cles_i(x,e,i+1); modifier_nb_cles(x,getnb_cles(x)+1);// on affecte l'element à la structure }
voilà
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 mars 2009 à 01:02
26 mars 2009 à 01:02
J'ai demandé la fonction inserer_structure() ;-)).
angebrune8
Messages postés
22
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
26 mars 2009
26 mars 2009 à 01:51
26 mars 2009 à 01:51
en fait c'est que ej faisais un runtime dans ma boucle alors il m'inserait la meme chose à chaque fois.
par contre avec les chaines de caractère là ca m'insere toujours la meme chaine
par contre avec les chaines de caractère là ca m'insere toujours la meme chaine