A voir également:
- Erreur dans malloc
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Erreur t32 ✓ - Forum Livebox
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
5 réponses
Légère erreur du débutant.
void* malloc (int taille)
Telle est la définition de la fonction 'malloc'.
Il te faut donc écrire:
I=(ElementPoids*)malloc(sizeof(struct ElementPoids));
car je suppose que 'I' est ainsi défini: ElementPoids* I;
Bon courage.
void* malloc (int taille)
Telle est la définition de la fonction 'malloc'.
Il te faut donc écrire:
I=(ElementPoids*)malloc(sizeof(struct ElementPoids));
car je suppose que 'I' est ainsi défini: ElementPoids* I;
Bon courage.
Merci Loupius,
Désolée, je viens de lire ton message, je croyai que dès que je reçois un message ici j'ai une alerte sur ma boite, mais je crois que cette option est désactivée, quoi qu'il en soit, pour cette erreur c bon, ça a marché, merci
mais bon, la, jai un nouveau problème, il me casse vraiment la tête, je sais pas si je dois le redéfinir sur un nouveau message parce que c'est la même application mais pas le même problème,
bon je la pose comeme ici, a defaut de reponses je postule ailleurs:
Je ne comprend pas ou est le problème;
mon programme affecte un caractére a chaque noeud d'un arbre, si c'est un fils gauche il lui affecte un '0' si c'est le droit un '1'
le problème c'est que dès que je veux qu'il m'affiche ce qu'il a ffecté il me renvoie pas le meme code affecté lors du traitement, je trouve pas l'erreur, je l'ai meme déroulé manuellement, RIEN
svp aidez moi.
fonction qui affecte les caractéres:
// parcours de l'arbre en infixé et ajouter le code
void affich_infixe_croissant(ElementPoids *a)
{
if(a!=NULL)
{
affich_infixe_croissant(a->FilsDroit);
affich_infixe_croissant(a->FilsGauche);
if (a->FilsDroit!=NULL) { strcpy(a->FilsDroit->Code,"0");
printf("cest le fils droit \n\n");
printf(" -> Fils gauche %d ", a->FilsDroit->Num);
printf(" -> Code %s ", a->FilsDroit->Code);
}
if (a->FilsGauche!=NULL) {strcpy(a->FilsGauche->Code,"1");
printf("cest le fils gauche \n\n");
printf(" -> Fils droit %d ", a->FilsGauche->Num);
printf(" -> Code %s ", a->FilsGauche->Code);
}
}
}
// fonction 1 qui affiche l'arbre avec ses codes
// parcours de l'arbre en pretfixé et affichage de l'arbre
void affich_arbre(ElementPoids *a, int profondeur)
{
int i;
if(a!=NULL)
{
affich_arbre(a->FilsDroit, profondeur+1);
for(i=0;i<profondeur;i++)
printf("\t");
printf("%d %s\n",a->Num, a->Code);
affich_arbre(a->FilsGauche, profondeur+1);
}
}
// fonction2 qui affiche l'arbre
void affich_infixe_croissant2(ElementPoids *a)
{
if(a!=NULL)
{
affich_infixe_croissant2(a->FilsDroit);
affich_infixe_croissant2(a->FilsGauche);
if (a->FilsDroit!=NULL) { printf("cest le fils droit \n\n");printf(" -> Fils gauche %d ", a->FilsDroit->Num);printf(" -> Code %s ", a->FilsDroit->Code);}
if (a->FilsGauche!=NULL) {printf("cest le fils gauche \n\n");printf(" -> Fils droit %d ", a->FilsGauche->Num);printf(" -> Code %s ", a->FilsGauche->Code);}
}
}
pour les resultats, dans la fonction qui affecte les codes j'ai dans tous les fils droits des 1 et gauches des 0, mais dans les fonction d'affichage j'ai les memes valeurs de noeuds que le premiere fontion (parce que elle aussi fait de laffichage) mais des codes different.
je trouve pas l'erreur
encore merci
Désolée, je viens de lire ton message, je croyai que dès que je reçois un message ici j'ai une alerte sur ma boite, mais je crois que cette option est désactivée, quoi qu'il en soit, pour cette erreur c bon, ça a marché, merci
mais bon, la, jai un nouveau problème, il me casse vraiment la tête, je sais pas si je dois le redéfinir sur un nouveau message parce que c'est la même application mais pas le même problème,
bon je la pose comeme ici, a defaut de reponses je postule ailleurs:
Je ne comprend pas ou est le problème;
mon programme affecte un caractére a chaque noeud d'un arbre, si c'est un fils gauche il lui affecte un '0' si c'est le droit un '1'
le problème c'est que dès que je veux qu'il m'affiche ce qu'il a ffecté il me renvoie pas le meme code affecté lors du traitement, je trouve pas l'erreur, je l'ai meme déroulé manuellement, RIEN
svp aidez moi.
fonction qui affecte les caractéres:
// parcours de l'arbre en infixé et ajouter le code
void affich_infixe_croissant(ElementPoids *a)
{
if(a!=NULL)
{
affich_infixe_croissant(a->FilsDroit);
affich_infixe_croissant(a->FilsGauche);
if (a->FilsDroit!=NULL) { strcpy(a->FilsDroit->Code,"0");
printf("cest le fils droit \n\n");
printf(" -> Fils gauche %d ", a->FilsDroit->Num);
printf(" -> Code %s ", a->FilsDroit->Code);
}
if (a->FilsGauche!=NULL) {strcpy(a->FilsGauche->Code,"1");
printf("cest le fils gauche \n\n");
printf(" -> Fils droit %d ", a->FilsGauche->Num);
printf(" -> Code %s ", a->FilsGauche->Code);
}
}
}
// fonction 1 qui affiche l'arbre avec ses codes
// parcours de l'arbre en pretfixé et affichage de l'arbre
void affich_arbre(ElementPoids *a, int profondeur)
{
int i;
if(a!=NULL)
{
affich_arbre(a->FilsDroit, profondeur+1);
for(i=0;i<profondeur;i++)
printf("\t");
printf("%d %s\n",a->Num, a->Code);
affich_arbre(a->FilsGauche, profondeur+1);
}
}
// fonction2 qui affiche l'arbre
void affich_infixe_croissant2(ElementPoids *a)
{
if(a!=NULL)
{
affich_infixe_croissant2(a->FilsDroit);
affich_infixe_croissant2(a->FilsGauche);
if (a->FilsDroit!=NULL) { printf("cest le fils droit \n\n");printf(" -> Fils gauche %d ", a->FilsDroit->Num);printf(" -> Code %s ", a->FilsDroit->Code);}
if (a->FilsGauche!=NULL) {printf("cest le fils gauche \n\n");printf(" -> Fils droit %d ", a->FilsGauche->Num);printf(" -> Code %s ", a->FilsGauche->Code);}
}
}
pour les resultats, dans la fonction qui affecte les codes j'ai dans tous les fils droits des 1 et gauches des 0, mais dans les fonction d'affichage j'ai les memes valeurs de noeuds que le premiere fontion (parce que elle aussi fait de laffichage) mais des codes different.
je trouve pas l'erreur
encore merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pour plus de precision voici les resulatats, je comprends vraiement pas, les memes instructions dans 2 fonctions differentes avec les mes param dentrée donnent deux resultats differents, ou est le problèèèèèèèème, je craque:
par exemple si jappel
affich_infixe_croissant(racine) jai fils gauche 0 fils droit 1
après quand jappel affich_infixe_croissant2(racine) avec la meme racine jai fils gauche 1 fils droit 1
et quand jappel affich_arbre(racine) toujours la meme racine j'ai
fils droit 1
racine
fils gauche 1
or normalement je devrai avoir (comme dans affich_infixe_croissant'racine)):
fils droit 1
racine
fils gauche 0
par exemple si jappel
affich_infixe_croissant(racine) jai fils gauche 0 fils droit 1
après quand jappel affich_infixe_croissant2(racine) avec la meme racine jai fils gauche 1 fils droit 1
et quand jappel affich_arbre(racine) toujours la meme racine j'ai
fils droit 1
racine
fils gauche 1
or normalement je devrai avoir (comme dans affich_infixe_croissant'racine)):
fils droit 1
racine
fils gauche 0
void* malloc (int taille)
Telle est la définition de la fonction 'malloc'.
Et le void* est converti implicitement vers le bon type. Tel est l'intérêt de l'apparition du void* au profit de char*.
Donc ce n'est pas une erreur :D. A moins d'utiliser un compilateur K&R Mais ça ne court pas les rues. ^^