diff --git a/find.c b/find.c deleted file mode 100644 index 9e4bc3c..0000000 --- a/find.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "find.h" - - -int find_mot(struct node **tab_ptr_tree,wchar_t mot[],int size,int fl) -{ - if(size==1 && tab_ptr_tree[fl]!=NULL) - { - if(tab_ptr_tree[fl]->fin==0)return 1; - else return 0;//vrais - } - if(size==1 && tab_ptr_tree[fl]==NULL)return 1;//faux - - struct node *ptr_node = tab_ptr_tree[fl]; - for(int i=1;inbr_fils==0)return 1; - for(int k=0;k<(ptr_node->nbr_fils);k++) - { - //if(ptr_node->fils[k]->nbr_fils==0)return 1; - if(ptr_node->fils[k]->val==mot[i]) - { - ptr_node=ptr_node->fils[k]; - break; - } - else if(k+1==ptr_node->nbr_fils)return 1; - } - } - - if(ptr_node->fin==0)return 1; - else return 0; -} - -int find() -{ - return 0; -} diff --git a/find.h b/find.h deleted file mode 100644 index acb21c1..0000000 --- a/find.h +++ /dev/null @@ -1,5 +0,0 @@ -#include "tree.h" - -int find(); - -int find_mot(struct node **,wchar_t*,int,int); \ No newline at end of file diff --git a/main.c b/main.c index a25bd9d..3450670 100644 --- a/main.c +++ b/main.c @@ -1,4 +1,4 @@ -#include "find.h" +#include "tree.h" int main() { @@ -21,7 +21,6 @@ int main() wchar_t mot[50]; int taille; - taille = 8; wscanf(L"%ls",mot); wscanf(L"%d",&taille); int result; diff --git a/tree.c b/tree.c index b41fc75..b4daa6e 100644 --- a/tree.c +++ b/tree.c @@ -72,7 +72,7 @@ void splitcarac(struct node **tab_ptr_tree,wchar_t message[]) if(message[0]<'a' || message[0]>'z')return; wchar_t *buffer; - wchar_t *token = wcstok(message, L" ,?;.:/!*+\\\"()=", &buffer); + wchar_t *token = wcstok(message, L" ,?;.:/!*+\\\"()=«»", &buffer); add(tab_ptr_tree,token,size(token),(int)message[0]-97); if(buffer!=NULL)splitcarac(tab_ptr_tree,buffer); } @@ -116,3 +116,37 @@ void free_dico(struct node **tab_ptr_tree) } } } + +/*Recherche dans le dictionnaire*/ +int find_mot(struct node **tab_ptr_tree,wchar_t mot[],int size,int fl) +{ + if(size==1 && tab_ptr_tree[fl]!=NULL) + { + if(tab_ptr_tree[fl]->fin==0)return 1; + else return 0;//vrais + } + if(size==1 && tab_ptr_tree[fl]==NULL)return 1;//faux + + struct node *ptr_node = tab_ptr_tree[fl]; + for(int i=1;inbr_fils==0)return 1; + for(int k=0;k<(ptr_node->nbr_fils);k++) + { + if(ptr_node->fils[k]->val==mot[i]) + { + ptr_node=ptr_node->fils[k]; + break; + } + else if(k+1==ptr_node->nbr_fils)return 1; + } + } + + if(ptr_node->fin==0)return 1; + else return 0; +} + +int find() +{ + return 0; +} diff --git a/tree.h b/tree.h index b913107..a4965b8 100644 --- a/tree.h +++ b/tree.h @@ -23,3 +23,7 @@ void load_tree(FILE *, struct node **); void free_tree(struct node *); void free_dico(struct node **); + +int find(); + +int find_mot(struct node **,wchar_t*,int,int); \ No newline at end of file -- libgit2 0.21.2