j'aurais besoin d'aide pour le problème suivant.
Je dois créer une fonction qui lit une chaine de caractère et construit autant d'arbre que possible.
Par exemple :
si la chaine que j'entre est: + 1 2 - * 3 7 x
la fonction doit me créer 2 arbres: + 1 2 et - * 3 7 x.
J'ai crée la fonction que voici qui me permet de créer un arbre mais comment faire pour en créer plusieurs?
Merci
Voici le code:
Code :
enum Type {Operateur, Constante, Variable};
union Info
{
double cte;
char *nom;
char op;
};
struct noeud{
enum Type type;
union Info info;
struct noeud *gauche;
struct noeud *droit;
};
typedefstruct noeud Noeud;
typedefstruct noeud * Expression;
Expression AnalyseExpression(char **ligne)
{
Expression e;
char c;
char *place;
int cnt;
while(**ligne == ' ') (*ligne)++;
/* on est en fin de chaine */
if(**ligne == '\0')
{
fprintf(stderr,"erreur : il doit manquer des operandes\n" );