Exercice En Programmation C

sohaieb
Exercice En Programmation C

Bonjour,
j'ai crée une biblihothèque "Liste.h" et quand je fait appel à la fonction "supr_oc" qui suprime les occurences d'un élement entrer dans la liste alors la fonction retourne un erreur c'est ça le code source alors aider moi merci d'avance :
-----------------------------------------------------------------------------------------------------------
typedef struct cellule{
int x;
cellule * suiv;
}cellule;
//----------------------------saisi entète de liste-----------------------------
cellule * saisi_entete(cellule *l){
cellule * nouv;
nouv=(cellule*)malloc(sizeof(cellule));
printf("entrer la cellule 1 de la liste\n");
scanf("%d",&(nouv->x));
nouv->suiv=l;
l=nouv;
return l;
}
//----------------------------verification si la liste est vide-----------------
int vevide(cellule *l){
if(l=NULL){
return 0;
}else {return 1;}
}
//----------------------------saisi fin de la liste ----------------------------
cellule * saisi_fin(cellule *l){
cellule *p,*nv;
if(vevide(l)==0){
l=saisi_entete(l);
}else{
nv=(cellule*)malloc(sizeof(cellule));
p=l;
while(p->suiv!=NULL){
p=p->suiv;
}
p->suiv=nv;
nv->suiv=NULL;
printf("entrer lentier a ajouter a la fin:");
scanf("%d",&(nv->x));}
return l;
}
//--------------------------------Taille De la Liste----------------------------
int taille(cellule * l){
int nb=1;
cellule *p;
p=l;
while(p->suiv!=NULL){
nb++;
p=p->suiv;
}
return nb;
}
//-----------------------------saisie position----------------------------------
cellule * saiaie_position(cellule * l){
int pos,i=1,ta;
cellule *p;
cellule *nv=(cellule *)malloc(sizeof(cellule));
p=l;
ta=taille(l);
do{
printf("Entrer la position de saisi entre [2..%d]:\n",ta);
scanf("%d",&pos);
}while(pos<1 || pos>ta);
if(pos==1){
l=saisi_entete(l);
}else if(pos>ta){
l=saisi_fin(l);
}else{
printf("Entrer l''element à saisi \n");
scanf("%d",&(nv->x));
for(i=1;i p=p->suiv;
}
nv->suiv=p->suiv;
p->suiv=nv;
}
return l;
}
//----------------------------Suppression debut---------------------------------
cellule * supr_deb(cellule *l){
cellule *p;
p=l;
if(l==NULL){l=NULL;}else if(l->suiv==NULL){l=NULL;free(p);}else{

l=l->suiv;
free(p);}
return l;
}
//------------------------------Supression Fin----------------------------------
cellule * supr_fin(cellule *l){
cellule * p,*p1;
p=l;
if(l==NULL){l=NULL;
}else
if(l->suiv==NULL){
l=NULL;
free(p);
}else{
while(p->suiv!=NULL){
p1=p;
p=p->suiv;
}
p1->suiv=NULL;
free(p);
}
return l;
}
//-------------------------------Suppression Pos--------------------------------
cellule * supr_pos(cellule *l,int pos,int ta){
int i;
cellule *p,*p1;
p=l;
p1=p;
if(pos==1){l=supr_deb(l);}else if(pos==ta){l=supr_fin(l);}else{
for(i=1;i p1=p;
p=p->suiv;
}
p1->suiv=p->suiv;
free(p);}
return l;
}
//-------------------------------Suppression occurance--------------------------
cellule * supr_ocu(cellule *l){
int a,ta,i;
cellule *p;
p=l;
ta=taille(l);
printf("entrer lelement a supprimer :\n");
scanf("%d",&a);
while(p->suiv!=NULL){
while(p->x==a){
p=supr_deb(p);
}
p=p->suiv;

}
return l;

}
//----------------------------affichage de liste--------------------------------
void affich(cellule *l){
cellule *t=l;
while(t!=NULL){
printf("%d||",t->x);
t=t->suiv;
}
}
------------------------------------------------------------------------------------------------------------

Configuration: Windows Vista / Firefox 3.6.16/Borland C++

fredericmazue
Re: Exercice En Programmation C

Bonjour,

Merci de soigner la présentation des messages. Des caractères trop gros et un code non formaté le rendent illisible, et cela risque fort de décourager tous ceux qui voudraient t'aider

sohaieb
Re: Exercice En Programmation C

ok dsl autre fois ..

K-lo
Re: Exercice En Programmation C

Quelle est l'erreur que te retourne le compilateur?