Decomposition d'une sequence
bonsoir a tous,pouvez vous m'aidez a comprendre ce code
Code:
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
|
void DecomposeFSeq(FILE *fp,F *TabP[],int Num1,int Num2,int Nb1,int Nb2, char *t,int Lt){
char s[1500];
int j,i,x;
j=0;
InitTabP(TabP);
while(fgets(s,1500,fp))
{
if(s[0]>='0' && s[0]<='9')
{
x=atoi(s);
if(x==Num1)
{
i=0;
while(i<Nb1)
{
fgets(s,1500,fp);
TabP[j]=Repeat(s,TabP[j],t,Lt);
i++;
}
}
if(x==Num2)
{
i=0;
while(i<Nb2)
{
fgets(s,1500,fp);
TabP[j]=Repeat(s,TabP[j],t,Lt);
j++;
i++;
}
}
}
}
} |
filter les sous chaines de caractéres
Bonjour a tous,
j'ai construit une fonction qui supprime les élément de ma liste chaînée qui ont une fréquence < Nb quand je l'ai testé tous les element sont supprimés seul l'elemnt entête.je vois pas pourquoi ??
voila mon code
Code:
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
|
F *filtrer(F *Liste,int Nb){
F *next;
Liste *premier_valide = NULL;
Liste *q =seq;
while (q != NULL)
{
if(q->freq<=Nb)
{
if(premier_valide==NULL)
{
premier_valide=q->suivant;
}
else
premier_valide->suivant=q->suivant;
// nettoyage
next = q->suivant;
free(q); // libère la mémoire de 'q'
q = next;
}
else
{
if (premier_valide == NULL)
{
premier_valide = q;
}
q = q->suivant;
}
}
// q = premier_valide;
} |
Merci d'avance :)