mr_chaos | bonjour, jai un probleme " Possible use of 'x' before defintion in function main " svp aidez moi merci Code :
- #include<stdio.h>
- #include<conio.h>
- struct noeud
- {
- int val;
- struct noeud *svt;
- };
- typedef struct noeud *liste;
- liste init()
- {
- liste l;
- l=NULL;
- return l;
- }
- int vide(liste l)
- {
- if(l==NULL)
- return 1;
- else
- return 0;
- }
- liste ajoutdeb(liste l,int x)
- {
- liste nouv;
- nouv=(liste)malloc(sizeof(liste));
- nouv->val=x;
- nouv->svt=l;
- l=nouv;
- return l;
- }
- liste remplir(liste l)
- {
- int n,i,a;
- printf("Donner le nombre d'‚l‚ments \n" );
- scanf("%d",&n);
- for(i=0;i<n;i++)
- {
- printf("Donner une valeur \n" );
- scanf("%d",&a);
- l=ajoutdeb(l,a);/*ou insertfin(l,a);*/
- }
- return l;
- }
- void afficherec(liste l)
- {
- liste p=l;
- if(p!=NULL)
- {
- printf("%d \t",p->val);
- afficherec(p->svt);
- }
- }
- liste insertfin(liste l,int x)
- {
- liste nouv,p;
- nouv=(liste)malloc(sizeof(liste));
- nouv->val=x;
- nouv->svt=NULL;
- if(l==NULL)
- l=nouv;
- else
- {
- p=l;
- while(p->svt!=NULL)
- p=p->svt;
- p->svt=nouv;
- }
- return l;
- }
- liste inverserliste(liste l)
- {
- liste l2=NULL,p=l;
- while(p!=NULL)
- {
- l2=ajoutdeb(l2,p->val);
- l=l->svt;
- free(p);
- }
- l=l2;
- return l;
- }
- liste existe(liste l,int x)
- {
- if(l==NULL)
- return NULL;
- else if(l->val==x)
- return l;
- else
- return existe(l->svt,x);
- }
- liste inserer(liste l,int N,liste res)
- {
- liste nouv;
- nouv=(liste)malloc(sizeof(liste));
- nouv->val=N;
- nouv->svt=res->svt;
- res->svt=nouv;
- return l;
- }
- liste supprimer(liste l,int x)
- {
- liste p,prec;
- if(l->val==x)
- {
- p=l;
- l=l->svt;
- free(p);
- }
- else
- {
- p=l;
- while(p->val!=x && p!=NULL)
- {
- prec=p;
- p=p->svt;
- }
- if(p->val==x)
- {
- prec->svt=p->svt;
- free(p);
- }
- }
- return l;
- }
- void main()
- {
- liste l,res;
- int N,a,x;
- clrscr();
- l=init();
- if(vide(l)==1)
- printf("Liste vide \n" );
- else
- printf("Liste non vide \n" );
- l=remplir(l);
- afficherec(l);
- printf("Donner une valeur \n" );
- scanf("%d",&a);
- res=existe(l,a);
- if(res==NULL)
- printf("Non existe \n" );
- else
- {
- printf("Donner l'‚l‚ment … inserer \n" );
- scanf("%d",&N);
- l=inserer(l,N,res);
- afficherec(l);
- }
- l=supprimer(l,x);
- afficherec(l);
- getch();
- }
|
Message édité par gilou le 09-05-2010 à 18:42:12
|