diff --git a/src/competence.c b/src/competence.c index 9ad8e8c1421875bba7c9bbca43052fe857c14633..071ecb1ea1f13713d3701de79a275eccb024e271 100644 --- a/src/competence.c +++ b/src/competence.c @@ -22,8 +22,65 @@ typedef struct Competence{ */ +int taille(Competence *noeud) +{ + Competence *enfant; + int compteur = 1; + for (enfant = noeud->enfant; enfant != NULL; enfant = enfant->frere) + compteur += taille(enfant); + return compteur; +} + +unsigned int hauteur(Competence *noeud) +{ + if (!estVide(noeud)) + { + int compteur = 1; + Competence *enfant; + for (enfant = noeud->enfant; enfant != NULL; enfant = enfant->frere) + { + if (hauteur(enfant) > compteur) + compteur = 1 + hauteur(enfant); + } + return compteur; + }else{ + return 0; + } +} + +int estVide(Competence *c) +{ + if (c->enfant == NULL) + return 0; + else + return 1; +} + +boolean est_connue(Competence *c) +{ + return (c->connu); +} +unsigned int NbEnfants(Competence *noeud) +{ + unsigned int nb; + if (estVide(noeud)) + { + nb = 0; + } + else + { + Competence *enfant; + for(noeud->enfant; enfant!= NULL; enfant=enfant->frere); + + nb++; + } + return nb; +} + + +/* -------------------------------------------------------------------------------------- */ Competence* construire_arbre_competence(Competence* a){ return NULL; @@ -35,9 +92,7 @@ int rafraichir_competences(Competence * a){ } -boolean est_connue(Competence *c){ - return (c->connu); -} + boolean est_complet(Competence *a){ return 0; diff --git a/src/competence.h b/src/competence.h index e16a365ee1cd774f328e8ddb92f5b01dae042af2..54bbe42e5e1a59e2e9a77e766d749f6a4800f41a 100644 --- a/src/competence.h +++ b/src/competence.h @@ -6,14 +6,14 @@ #ifndef DEPLACEMENTS_H_INCLUDED #define DEPLACEMENTS_H_INCLUDED -/* Definition des structures */ +/* Fonctions */ -/* A definir dans structure.h */ -typedef struct Arbre_Competence{ /* Arbre de compétence */ -}Arbre_Competence; +int taille(Competence *noeud); +unsigned int NbEnfants(Competence *noeud); + +unsigned int hauteur(Competence *noeud); -/* Fonctions */ Competence* construire_arbre_competence(Competence* a);