برامج

الي خبراء language c [الأرشيف] - برامج نت

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الي خبراء language c


amine_v6
05-11-2008, 06:33 PM
عندي مشكل في هذا تمرين لقد قمت بحله ولكن عندي مشكل
عند أعطاء ل k=1 فأقع في boucle infini أنظرو حل
أريد الله يرحم والدين استحقه ليوم أثنين ولا أنسي خيركم
وشكرا


# include<stdlib.h>
# include<stdio.h>
typedef struct maillon *ptr;
typedef struct maillon
{
int val;
ptr lien;
};
typedef struct maillon listec;
void remplir(listec *l)
{
int i,n,e;
ptr p;
ptr pp;
pp=l;
printf("donner le nombre d'element:");
scanf("%d",&n);
for(i=0;i<n;i++)
{

p=(struct maillon*)malloc(sizeof(struct maillon));
printf("donner le numero de l'enfant %d: ",i);
scanf("%d",&e);
(*p).val=e;
(*p).lien=(*pp).lien;
(*pp).lien=p;
pp=p;
(*pp).lien=(*l).lien;
}
}

void affich (listec *l)
{
ptr p,pp;
pp=l;
p=l->lien;
while(pp!=l->lien)
{
printf(" %d ",(*p).val);
pp=(*p).lien;
p=(*p).lien;
}
}



void supprimer (listec *l)
{
ptr p,pp;
p=(*pp).lien;
(*pp).lien=(*p).lien;
(*l).lien=(*p).lien;
free(p);
}


void supp_elt(listec *l,int k)
{ptr p,pp;
int i;
printf(" \n on compte jusqua combien :");
scanf("%d",&k);
pp=l;
p=l->lien;
while(pp!=l->lien)
{
for(i=0;i<k;i++)
pp=(*pp).lien;

printf(" \n l'element %d est sorti de la liste \n ",(*(*pp).lien).val);
supprimer(l);
affich(l);
printf("\n");
}
pp=(*pp).lien;
printf(" \n\n le gagnant de la partie est l'enfant dont le numero est : %d \n\n",(*pp).val);
}




main()
{listec l;
int k;
remplir(&l);
affich(&l);
supp_elt(&l,k);
system("pause");
}