Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1435 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Question sur les union et gestion de priorités dans une expression

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Question sur les union et gestion de priorités dans une expression

n°501345
freds45
Posté le 29-08-2003 à 09:41:01  profilanswer
 

:hello: all
 
Voilà, je suis en train de coder une fonction d'éval d'un expression numérique, qui renvoie un int correspondant à une expression passée en paramètre sous la forme d'un char* :).
 
Actuellement, je place l'expression dans un arbre, ça marche bien, par contre le gros souci, et je vois pas du tout comment faire, c'est la gestion des priorités des opérateur * et / :/...
 
Autre question : J'ai défini une union, soit une valeur (int), soit un opérateur. Une union est placée dans chaque noeud de l'arbre. Est ce qu'il y a moyen de savoir ce qu'il y a dans un noeud donné? Un opérateur ou un int ? :??:
 
 :jap:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
mood
Publicité
Posté le 29-08-2003 à 09:41:01  profilanswer
 

n°501392
Taz
bisounours-codeur
Posté le 29-08-2003 à 10:13:44  profilanswer
 

utilise des enum(érations) au lieu de char*
 
et apres, ben pour tes noeuds, tu mets une union et une enum dans ta structure, comme ça tu regarde l'enum pour savoir quoi faire d' l'union
   

n°501404
souk
Tourist
Posté le 29-08-2003 à 10:20:39  profilanswer
 

freds45 a écrit :


Autre question : J'ai défini une union, soit une valeur (int), soit un opérateur. Une union est placée dans chaque noeud de l'arbre. Est ce qu'il y a moyen de savoir ce qu'il y a dans un noeud donné? Un opérateur ou un int ? :??:
 
 :jap:  


 
les int sont pas censes etre les feuilles de ton arbre ? les operateurs etant, eux, tous les autres noeuds, me trompe-je ?

n°501408
freds45
Posté le 29-08-2003 à 10:24:02  profilanswer
 

Taz a écrit :

utilise des enum(érations) au lieu de char*
 
et apres, ben pour tes noeuds, tu mets une union et une enum dans ta structure, comme ça tu regarde l'enum pour savoir quoi faire d' l'union
   
 


 
 
ok, je vois le truc pour le contenu de la structure :)
par contre l'histoire de l'enum au lieu du char* ... je comprends pas ce ke tu veux dire :??: Le char* c'est la chaîne que j'analyse, la valeur est stockée sous forme d'int.


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°501412
freds45
Posté le 29-08-2003 à 10:27:49  profilanswer
 

souk a écrit :


 
les int sont pas censes etre les feuilles de ton arbre ? les operateurs etant, eux, tous les autres noeuds, me trompe-je ?


 
En fait j'ai défini qu'un seul type de noeud, qui contient soit un int (la valeur) soit un opérateur. Chui ptêt allé un peu vite sur la structure :/ T'aurais fait autrement ?


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°501418
souk
Tourist
Posté le 29-08-2003 à 10:30:21  profilanswer
 

freds45 a écrit :


 
En fait j'ai défini qu'un seul type de noeud, qui contient soit un int (la valeur) soit un opérateur. Chui ptêt allé un peu vite sur la structure :/ T'aurais fait autrement ?


 
pas necessairement, tu regardes si le noeud est une feuille, si oui alors c'est une valeur, si non, c'est un operateur. (mais ca aurait ete plus propre d'avoir 2 types de noeuds effectivement, mais spa grave ;) )

n°501427
freds45
Posté le 29-08-2003 à 10:34:57  profilanswer
 

souk a écrit :


 
pas necessairement, tu regardes si le noeud est une feuille, si oui alors c'est une valeur, si non, c'est un operateur. (mais ca aurait ete plus propre d'avoir 2 types de noeuds effectivement, mais spa grave ;) )


 
Suffit de regarder si les pointeurs vers les deux fils sont null :whistle:
 
par contre l'histoire de priorité des opérateurs... :cry: je sèche !!


Message édité par freds45 le 29-08-2003 à 10:35:26

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°501433
Taz
bisounours-codeur
Posté le 29-08-2003 à 10:35:52  profilanswer
 

ah ok, je croyais que tu tapais les trucs en dur, comme je l'ai déjà vu faire ici-même, avec un champ char * pour le type

n°501491
freds45
Posté le 29-08-2003 à 11:08:28  profilanswer
 

non, j'essaye de faire un truc propre :sol:
 
prochaine étape sur la todo list : des fonctions :sol:  
 :hello:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Question sur les union et gestion de priorités dans une expression

 

Sujets relatifs
Java et question technique pour génération de Panels à la voléeexpression reguliere
[Python]Question sur les listes de listes de listes ...Editer une bd + question sur les liens
valeur d'un cookie [resolu] nv question voir msg 11[Divers] question a propos de prog et SMS
[C] Question con sur printfQuestion : pb accents en utf8
[PHP] Je cherche 2 scripts ou bien 2 aides (Gestion fichiers/images)Question sur l'ASP ?
Plus de sujets relatifs à : [C] Question sur les union et gestion de priorités dans une expression


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR