Table de hachage et liste chainéee en C
stroumpf
Messages postés
289
Date d'inscription
Statut
Membre
Dernière intervention
-
mikelo11 Messages postés 141 Date d'inscription Statut Membre Dernière intervention -
mikelo11 Messages postés 141 Date d'inscription Statut Membre Dernière intervention -
Bonjour
j'ai un probleme avec ma fonction qui doit parcourir une table e hachage chaine qui contient des mots et cahque mot a une liste des coordonnes.
la liste de coordonnées est sous la forme (numero-ligne, position)
donc dans la table ya des mots de cette focon
bonjour(1,2)(2,3)
le(1,3)(2,4)(4,3)
monde(1,4)
bon cette fonction genere des liste de 2 mots: elle concatene les mots qui ont le meme num-ligne de telle gacon la position du second mot>position 1er mot
là on aura
bonjour le (1,3)(2,4)
bonjour monde (1,4)
....
en fait ya une condition là:
je voudaris rassembler les mots qui sont succesiifs dans la phrase au moin 2 fois dans la meme cellule de la liste chaineee.
SVP vous pouvez m'aider merci.
voila mon bout de code qui est insuffisant
j'ai un probleme avec ma fonction qui doit parcourir une table e hachage chaine qui contient des mots et cahque mot a une liste des coordonnes.
la liste de coordonnées est sous la forme (numero-ligne, position)
donc dans la table ya des mots de cette focon
bonjour(1,2)(2,3)
le(1,3)(2,4)(4,3)
monde(1,4)
bon cette fonction genere des liste de 2 mots: elle concatene les mots qui ont le meme num-ligne de telle gacon la position du second mot>position 1er mot
là on aura
bonjour le (1,3)(2,4)
bonjour monde (1,4)
....
en fait ya une condition là:
je voudaris rassembler les mots qui sont succesiifs dans la phrase au moin 2 fois dans la meme cellule de la liste chaineee.
SVP vous pouvez m'aider merci.
voila mon bout de code qui est insuffisant
void Generer2seq(Liste **TableHash, int seuil, Liste **seq){ Liste *p1; Liste *p2; Liste *t; Liste *M; int X=0; char * res; Coordonnees *c1; Coordonnees*c2; int i, j; M=NULL; for(i=0;i<TAILLEHASH;++i) if(TableHash[i] != NULL) for(p1=TableHash[i];p1!=NULL;p1=p1->suivant) for(j=i;j<TAILLEHASH;++j) if(TableHash[j] != NULL){ if (j==i) t=p1; else t=TableHash[j]; for(p2=t;p2!=NULL;p2=p2->suivant){ if (strcmp(p1->m->mot,p2->m->mot)!=0){ for (c1=p1->c; c1!=NULL; c1=c1->suivant) { for (c2=p2->c; c2!=NULL; c2=c2->suivant) { if(p1->c->nl ==p2->c->nl) { if(p1->c->pos==p2->c->pos+1) X=X+1; } } } if (X>=2) printf("oui"); res=strcat(p1->m->mot, p2->m->mot); M=InsertionEnTete(M, res); AfficherListe(M); } } } }
A voir également:
- Table de hachage et liste chainéee en C
- Liste déroulante excel - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Liste déroulante en cascade - Guide
- Liste de diffusion whatsapp - Guide