cs_alcatrazzz
Messages postés1Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention18 novembre 2005 18 nov. 2005 à 21:29
bonsoir les ami(e)s, je suis débutant dans le domaine, par contre j'ai un problème avec la"PILE d'entier", je n'arrive pas à compilé????? HELP ME PLEASE....
1 initialiser
2 Empiler
3 Dépiler
4 Afficher
5 Quitter
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 15:48
oui, enfin la on parle d'une pile, donc on aura jamais à faire ca
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 17 juil. 2004 à 15:45
un avantage des listes chainées, c ke lorsk que tu veux supprimer un maillon, tu n'es pas obligé de reparcourir les données suivantes et de les replacer sur index - 1...C'est le seul avantage que jy trouve
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 17 juil. 2004 à 15:42
je pense mm ke les listes chainés utilisent plus de memioire qu'un simple tableau : liste chainées contiennent une donnée supplémentaire par rapport au tableau, un pointeur sur la structure suivante !
Si tu depasses la taille d'un tableau, risk d'ecrire ds la pile sur des données => plantage...
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 15:39
avec un tableau il faut ccontroller les bord et reallouer si necessaire, mais c'est beaucoup moins frequent que pour une liste
pour ce qui est de l'utilisation de la memoire, avec une liste d'entiers c'est pas terrible non plus car il faut au moins stocker pour chaque entier l'adresse de son precedent, 4 octets de plus
une liste de 8000 entier, ca prend autant de place qu'un tableau de 16000 entier
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005 17 juil. 2004 à 15:34
donc performance au niveau rapidité ?
par contre au niveau utilisation mémoire les listes chaînées sont peut-etre plus performantes ? plus souples aussi? (que se passe-t-il si on dépasse la taille du tableau ?)
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 15:02
en terme de performance avec un tableau c'est mieux, vu qu'avec une liste il ya alllocation / desallocation à chaque empillage / desempillage
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005 17 juil. 2004 à 14:53
quels sont les avantages et les inconvenients d'une implémentation par tableau dynamique et d'une implémentation par liste chaînée ?
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 14:44
ok, en fait gcc est meme connu pour son grand respect du standard
par exemple il te permet de savoir si ta source est totalement compatible c ansi avec les options
-ansi -pedandic -Wtraditional
tu peux mem aller plus loin pour les warning
-Werror -Wmissing-prototypes -Wstrict-prototypes ...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 17 juil. 2004 à 14:40
ben oui djl, si compilo ne ralait pas quand pas de valeur retournee alors que fonction DOIT retourner int ...
Mais bon, tu nous as dit que ce n'est pas le cas, donc devcpp OK sur ce point.
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 14:35
ouai 2^31-1 j'ai pas fait gaffe
j'ai toujours imaginé que c'etait ca
enfin size_t reste quand meme independant de la machine contrairement à int
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 17 juil. 2004 à 14:29
oula djl, 2^16 - 1 ?? Les int signés seraient limités a 65535 ? Non pas du tt, tu parles d'entier non signés de 16bits la (ou encore short sur nos machines) ! ca depend de l'implementation mais sur nos machines (32bits) la taille limite va de (a peu pres) -2 000 000 000 a 2 000 000 000 ! size_t etant defini come un unsigned long, il va juska 2^32-1 !
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 14:13
BruNews > "j'allais renvoyer sur ces commentaires quand un veut se faire une idee de devcpp. J' m'abstiendrais donc"
excuse moi mais j'ai pas trop compris :s
kod32 > size_t est non signé, avec int probleme si la taille est superieur à 2^16 -1
kod32
Messages postés46Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention13 novembre 2004 17 juil. 2004 à 14:05
je ne comprends pas l'utilité de size_t à la place de int, quelle différence entre les 2 ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 17 juil. 2004 à 13:55
djl t'as bien fait de rectifier, j'allais renvoyer sur ces commentaires quand un veut se faire une idee de devcpp. J' m'abstiendrais donc.
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 17 juil. 2004 à 13:39
18 nov. 2005 à 21:29
1 initialiser
2 Empiler
3 Dépiler
4 Afficher
5 Quitter
17 juil. 2004 à 15:48
17 juil. 2004 à 15:45
17 juil. 2004 à 15:42
Si tu depasses la taille d'un tableau, risk d'ecrire ds la pile sur des données => plantage...
17 juil. 2004 à 15:39
pour ce qui est de l'utilisation de la memoire, avec une liste d'entiers c'est pas terrible non plus car il faut au moins stocker pour chaque entier l'adresse de son precedent, 4 octets de plus
une liste de 8000 entier, ca prend autant de place qu'un tableau de 16000 entier
17 juil. 2004 à 15:34
par contre au niveau utilisation mémoire les listes chaînées sont peut-etre plus performantes ? plus souples aussi? (que se passe-t-il si on dépasse la taille du tableau ?)
17 juil. 2004 à 15:02
17 juil. 2004 à 14:53
17 juil. 2004 à 14:44
par exemple il te permet de savoir si ta source est totalement compatible c ansi avec les options
-ansi -pedandic -Wtraditional
tu peux mem aller plus loin pour les warning
-Werror -Wmissing-prototypes -Wstrict-prototypes ...
17 juil. 2004 à 14:40
Mais bon, tu nous as dit que ce n'est pas le cas, donc devcpp OK sur ce point.
17 juil. 2004 à 14:35
j'ai toujours imaginé que c'etait ca
enfin size_t reste quand meme independant de la machine contrairement à int
17 juil. 2004 à 14:29
17 juil. 2004 à 14:13
excuse moi mais j'ai pas trop compris :s
kod32 > size_t est non signé, avec int probleme si la taille est superieur à 2^16 -1
17 juil. 2004 à 14:05
17 juil. 2004 à 13:55
17 juil. 2004 à 13:39
if((x >= 0) && (x <= *pile))
return *(pile+x);
return -1;
bien sur que devcpp (gcc) gueule si tu active les warning (-Wall)
pense à utiliser un type unsigned ou size_t pour les tailles
17 juil. 2004 à 12:55
Mais c'est vrai que c'est pas le top. On peut rajouter un :
else return -1;
ça fait plus clean.
Merci
17 juil. 2004 à 12:51
int Select(int x) , ton compilo ne rale pas quand tu ne retournes pas une valeur a tout coup ?