Bonjour à tous, Pourriez-vous m'aider a comprendre pourquoi je n'arrive pas à implémenter chainées des listes de structures en c. Voici mes structures :
Code :
typedefstruct Tocc
{
int posOcc;
//double* tableResultPSSM;
struct Tocc *nxt;
}Tocc;
typedef Tocc* llistOcc;
typedefstruct Tseq
{
int numSeq;
struct Tocc *pllistOcc;
struct Tseq *nxt;
}Tseq;
typedef Tseq* llistSeq;
typedefstruct Tkmer
{
char* seqKmer;
struct Tseq *pllistSeq;
struct Tkmer *nxt;
}Tkmer;
typedef Tkmer* llistKmer;
Et voici les fonctions qui me permettent d'implémenter mes structures:
Code :
int kmerControl(llistKmer listeKmer, char* seqKmer)
{
Tkmer* tmp=listeKmer;
int existKmer=0;
while(tmp!=NULL && existKmer!=1){
if(strcmp(tmp->seqKmer, seqKmer)==0){
existKmer=1;
return existKmer;
}
tmp=tmp->nxt;
}
return existKmer;
};
llistOcc AjouterEnFinOcc(llistOcc listeOcc, int posOcc)
{
Tocc* nouvelTocc =(Tocc*)malloc(sizeof(Tocc));
nouvelTocc->posOcc = posOcc;
nouvelTocc->nxt = listeOcc;
/*if(listeOcc == NULL)
{
return nouvelTocc;
}else{
Tocc *tmp=listeOcc;
while(tmp->nxt != NULL)
{
tmp = tmp->nxt;
}
tmp->nxt = nouvelTocc;*/
//afficherListeOcc(listeOcc);
return nouvelTocc;
};
llistSeq AjouterEnTeteSeq(llistSeq listeSeq, int numSeq, int posOcc)
Le Problème est que des que je passe fini une boucle de Séquence, il écrase la listKmer et je ne vois pas pourquoi donc je n'arrive pas a afficher Kmer = AT *seq 1= pos1, pos3 *seq2= po5
Marsh Posté le 04-12-2017 à 09:25:35
Bonjour à tous,
Pourriez-vous m'aider a comprendre pourquoi je n'arrive pas à implémenter chainées des listes de structures en c.
Voici mes structures :
Et voici les fonctions qui me permettent d'implémenter mes structures:
Et enfin la partie du main qui fait appel aux fonctions d'implémentation :
Le Problème est que des que je passe fini une boucle de Séquence, il écrase la listKmer et je ne vois pas pourquoi donc je n'arrive pas a afficher
Kmer = AT
*seq 1=
pos1, pos3
*seq2=
po5