Piles en C
Fermé
glee89
Messages postés
21
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
19 juin 2013
-
5 août 2012 à 20:07
glee89 Messages postés 21 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 19 juin 2013 - 7 août 2012 à 10:49
glee89 Messages postés 21 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 19 juin 2013 - 7 août 2012 à 10:49
3 réponses
glee89
Messages postés
21
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
19 juin 2013
5 août 2012 à 20:09
5 août 2012 à 20:09
Le programme se plante lorsqu'on veut modifier un nom qui n'est pas au sommet de la pile.
Une aide svp!
Une aide svp!
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 5/08/2012 à 21:15
Modifié par fiddy le 5/08/2012 à 21:15
Bonjour,
Tu pouvais continuer sur ton ancien post.
C'était plus simple.
Sinon, pareil, j'ai pas tout lu.
Mais : int empiler (Pile * ptr_tas, char *donnee){
Il faut mettre Pile** ptr_tas et bien sûr répercuter le changement dans le code de la fonction.
Et pour l'appel de la fonction : empiler(&ptr_tas, ...);
Cdlt,
Google is your friend
Tu pouvais continuer sur ton ancien post.
C'était plus simple.
Sinon, pareil, j'ai pas tout lu.
Mais : int empiler (Pile * ptr_tas, char *donnee){
Il faut mettre Pile** ptr_tas et bien sûr répercuter le changement dans le code de la fonction.
Et pour l'appel de la fonction : empiler(&ptr_tas, ...);
Cdlt,
Google is your friend
glee89
Messages postés
21
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
19 juin 2013
6 août 2012 à 11:39
6 août 2012 à 11:39
Quel sera le changement dans la fonction? Je veux juste comprendre le but des deux étoiles.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 août 2012 à 15:46
6 août 2012 à 15:46
Non non, il n'y a pas besoin. C'était juste pour m'assurer d'un point.
Là en revanche, en relisant ton code, il y a un truc qui me plaît pas :
Nom_Mod = (char*)malloc(sizeof(char)) ;
Tu n'alloues qu'un caractère...
Là en revanche, en relisant ton code, il y a un truc qui me plaît pas :
Nom_Mod = (char*)malloc(sizeof(char)) ;
Tu n'alloues qu'un caractère...
glee89
Messages postés
21
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
19 juin 2013
6 août 2012 à 20:54
6 août 2012 à 20:54
ah bon?
Oui je vois!
Je devais faire un calloc(50,sizeof(...))
C'est pourquoi il se plantait?
Oui je vois!
Je devais faire un calloc(50,sizeof(...))
C'est pourquoi il se plantait?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 août 2012 à 21:08
6 août 2012 à 21:08
Soit tu fais calloc(50,...), soit tu fais malloc(50*...); mais pas malloc(1); sinon tu n'alloues qu'un char. Bug assuré.
glee89
Messages postés
21
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
19 juin 2013
7 août 2012 à 10:49
7 août 2012 à 10:49
Je l'ai essayé mais sans suite favorable!
J'ai compté faire un while(k>=0) au lieu de for(j=k ; j>0 ; j--) encore plus pire!
Je parle de la partie modification de nom!
J'ai compté faire un while(k>=0) au lieu de for(j=k ; j>0 ; j--) encore plus pire!
Je parle de la partie modification de nom!