1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Liste * GenNseq(Liste *seq2, Liste **seq)
{
Liste *p;
Liste *q;
int i;
char * mot;
char * mot1;
char *first;
char *last;
char buff1[C_TAILLE_MOT];/* pas besoin de malloc car 50 est une petite taille et ca s'ajuste avec Liste::mot */
char buff2[C_TAILLE_MOT];/* deux buffer temporaire: un pour chaque liste!*/
Liste *pNouvelleListe;/* pour creer la liste*/
Liste *pCourant;
pNouvelleListe=NULL;
for(p=seq2; p!=NULL; p=p->suivant){
mot=p->mot;
if(mot){
first=GetFirstWord(mot, buff1);
//for(i=0;i<39;++i){ // pour chaque élément (liste) de seq
for(q=seq; q!=NULL; q=q->suivant){ // seq[i] - element(liste) de seq
mot1 =q->mot;
if(mot1){
//printf("%s", mot1);
last=GetLastWord(mot1, buff2);
if(strncmp(first, last,C_TAILLE_MOT)==0){
//printf("similaires!!!!");
pCourant = malloc(sizeof(Liste));
pCourant->freq = 1;
strncpy(pCourant->mot,first,C_TAILLE_MOT);
pCourant->suivant = pNouvelleListe;
pNouvelleListe = pCourant;
}
}
}
}
}
return pNouvelleListe;
} |
Partager