A voir également:
- Arbre à partir d'une expression fonctionnelle
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Combien y a-t-il de bateaux dans la zone de 475 pixels de large et 1000 pixels de haut à partir du coin supérieur gauche de cette image ? - Forum Photoshop
- Combien y a-t-il de bateaux dans la zone de 1500 pixels de large et 500 pixels de haut à partir du coin supérieur gauche de cette image ? - Forum Graphisme
- Avatar facebook à partir de photo - Guide
1 réponse
Utilisateur anonyme
21 juin 2008 à 19:02
21 juin 2008 à 19:02
Il faut créer une fonction récursive qui va lire chaque caractère de ta forme fonctionnelle :
Si tu tombes sur un opérateur (/*-+) tu ajoutes un noeud à gauche.
Si tu tombes sur une variable : tu ajoutes une feuille à gauche si le noeud courant n'en possède pas, à droite s'il en possède et tu remontes d'un cran dans l'arbre (puisque les deux feuilles sont établies).
Si tu tombes sur un opérateur (/*-+) tu ajoutes un noeud à gauche.
Si tu tombes sur une variable : tu ajoutes une feuille à gauche si le noeud courant n'en possède pas, à droite s'il en possède et tu remontes d'un cran dans l'arbre (puisque les deux feuilles sont établies).
21 juin 2008 à 20:33
J'essaie un truc comme ci-dessous, çà me donne pas le résultat.
char main ()
{
Noeud *racine;
char c;
racine = NULL;
printf ("Etrer le aractère '#' pour terminer! ");
scanf (c);
while (c!='#') {
CreerArbre (&racine, c);
printf ("Etrer le aractère '#' pour terminer! ");
scanf (c);
}
void CreerArbre (Noeud ** racine, char c)
{
Noeud *nouveau;
nouveau = alloc ();
if (*racine == NULL) {
nouveau->nb = n;
nouveau->gauche = NULL;
nouveau->droite = NULL;
*racine = nouveau;
}
else if (n < (*racine)->nb)
CreerArbre (&(*racine)->gauche, c);
else if (n > (*racine)->nb)
CreerArbre (&(*racine)->droite, c);
}
(Merci Lami 20j)
Merci d0o0b
21 juin 2008 à 20:48
De plus, il y a une conditionnelle qui porte sur la variable n dans CreerArbre() qui n'est initialiser que dans un autre bloc conditionnel, donc inaccessible.