un excercice improtant sur les liste chainéé de 1 anéé LMD
2 مشترك
صفحة 1 من اصل 1
un excercice improtant sur les liste chainéé de 1 anéé LMD
un excercice improtant sur les liste chainée de 1 annéé LMD
VOIC LA SOURSE DE SE EXCERCICE
#include"conio.h"
#include"stdio.h"
#include"stdlib.h"
struct list
{
float reel,imaginaire;
struct list * sv ;
};
struct list*tete;
struct list*p;
// LA FONCTION AJOUTE EN TETE
void ajoutete ()
{
p=tete;
p=(struct list*)malloc(sizeof (struct list));
p->sv=tete;
tete=p;
printf("\nDonner la partie reel\n");
scanf("%f",&p->reel) ;
printf("\nDonner la partie imaginaire\n");
scanf("%f",&p->imaginaire) ;
p=p->sv ;
}
//la fonction ajoute a la fin
ajoutfin()
{p=tete; struct list*q;
if(tete!=NULL)
{while(p->sv!=NULL) {p=p->sv;}
q=(struct list*)malloc(sizeof(struct list));
p->sv=q;
q->sv=NULL;
printf("\nDonner la partie reel\n");
scanf("%f",&p->reel) ;
printf("\nDonner la partie imaginaire\n");
scanf("%f",&p->imaginaire) ;
return 1;
}
else ajoutete ();
return 0; }
//LA FONCTION AFFICHAGE
int affiche()
{p=tete;
while(p!=NULL)
{printf("\n%.0f+%.0fi",p->reel,p->imaginaire);p=p->sv;
}
return 0;}
// la fontcion recherche
cher(float r,float im)
{p=tete;
while(p!=NULL)
{if((p->reel!=r)||(p->imaginaire!=im))
{p=p->sv;}
else return 1;
}
return 0;
}
//suprime un element
void supprime()
{p=tete;
p=p->sv;
free(tete);
tete=p;
}
//supprime element en fin
supprime2()
{p=tete; struct list*q;
while(p->sv!=NULL){q=p;
p=p->sv;
}
q->sv=NULL;
free(p);
}
main()
{ int br;float reel,imaginaire; p=tete;
printf("\t\t\tCE PROGRAME DE REDJEM ALYES\n\n");
br:printf("\ntappez '1' pour ajouter un element au debut:\n");
printf("\ntappez '2' pour ajouter un element en fin:\n");
printf("\ntappez '3' pour afficher des elements dans la liste:\n");
printf("\ntappez '4' pour chercher un element dans la liste:\n");
printf("\ntappez '5' pour supprime un element au debut de la liste:\n");
printf("\ntappez '6' pour supprime un element en fin de la liste:\n");
getch();clrscr();
switch(getch())
{case '1':{ajoutete();goto br;}
case '2':{ajoutfin();goto br;}
case '3':{affiche();goto br;}
case '4':{
scanf("%f %f",&reel,&imaginaire);
if(cher( reel, imaginaire)==1)
{
printf("ce nombre complexe est existe:\n");
}
else
printf("ce nombre complexe ne existe pas:\n");
goto br;
case '5':{supprime();goto br; }
case '6':{supprime2();goto br;}
}
}
getch();
return 0;
}
VOIC LA SOURSE DE SE EXCERCICE
#include"conio.h"
#include"stdio.h"
#include"stdlib.h"
struct list
{
float reel,imaginaire;
struct list * sv ;
};
struct list*tete;
struct list*p;
// LA FONCTION AJOUTE EN TETE
void ajoutete ()
{
p=tete;
p=(struct list*)malloc(sizeof (struct list));
p->sv=tete;
tete=p;
printf("\nDonner la partie reel\n");
scanf("%f",&p->reel) ;
printf("\nDonner la partie imaginaire\n");
scanf("%f",&p->imaginaire) ;
p=p->sv ;
}
//la fonction ajoute a la fin
ajoutfin()
{p=tete; struct list*q;
if(tete!=NULL)
{while(p->sv!=NULL) {p=p->sv;}
q=(struct list*)malloc(sizeof(struct list));
p->sv=q;
q->sv=NULL;
printf("\nDonner la partie reel\n");
scanf("%f",&p->reel) ;
printf("\nDonner la partie imaginaire\n");
scanf("%f",&p->imaginaire) ;
return 1;
}
else ajoutete ();
return 0; }
//LA FONCTION AFFICHAGE
int affiche()
{p=tete;
while(p!=NULL)
{printf("\n%.0f+%.0fi",p->reel,p->imaginaire);p=p->sv;
}
return 0;}
// la fontcion recherche
cher(float r,float im)
{p=tete;
while(p!=NULL)
{if((p->reel!=r)||(p->imaginaire!=im))
{p=p->sv;}
else return 1;
}
return 0;
}
//suprime un element
void supprime()
{p=tete;
p=p->sv;
free(tete);
tete=p;
}
//supprime element en fin
supprime2()
{p=tete; struct list*q;
while(p->sv!=NULL){q=p;
p=p->sv;
}
q->sv=NULL;
free(p);
}
main()
{ int br;float reel,imaginaire; p=tete;
printf("\t\t\tCE PROGRAME DE REDJEM ALYES\n\n");
br:printf("\ntappez '1' pour ajouter un element au debut:\n");
printf("\ntappez '2' pour ajouter un element en fin:\n");
printf("\ntappez '3' pour afficher des elements dans la liste:\n");
printf("\ntappez '4' pour chercher un element dans la liste:\n");
printf("\ntappez '5' pour supprime un element au debut de la liste:\n");
printf("\ntappez '6' pour supprime un element en fin de la liste:\n");
getch();clrscr();
switch(getch())
{case '1':{ajoutete();goto br;}
case '2':{ajoutfin();goto br;}
case '3':{affiche();goto br;}
case '4':{
scanf("%f %f",&reel,&imaginaire);
if(cher( reel, imaginaire)==1)
{
printf("ce nombre complexe est existe:\n");
}
else
printf("ce nombre complexe ne existe pas:\n");
goto br;
case '5':{supprime();goto br; }
case '6':{supprime2();goto br;}
}
}
getch();
return 0;
}
رد: un excercice improtant sur les liste chainéé de 1 anéé LMD
Trés bien
Vraimment Un tres bon programme qui traite une liste des nombres reéls
Ajout et affichage des elements, suppression et recherche dans une liste chainée
mais tu peux ameliorer ce programme par exemple trouver une idée pour enlever les goto
Merci mon frére
continuer
Vraimment Un tres bon programme qui traite une liste des nombres reéls
Ajout et affichage des elements, suppression et recherche dans une liste chainée
mais tu peux ameliorer ce programme par exemple trouver une idée pour enlever les goto
Merci mon frére
continuer
Jundi- المساهمات : 3
تاريخ التسجيل : 24/10/2009
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى