Académique Documents
Professionnel Documents
Culture Documents
Programmation avancée
RAPPORT DU TP
LISTES DOUBLEMENT CHAÎNÉES EN C++
Réalisé par :
NAJI Hanaa
LAAMCHI Oumaima
#include<iostream>
/**
* Bimone : NAJI Hanaa
* LAAMCHI Oumaima
* Date : 2023-04-17
* version : 1.0
*/
/**
* Definition des types
*/
typedef struct {
double coefficient ;
int exposant ;
} Monome ;
typedef struct {
Cellule * debut ; // pointeur sur le début
Cellule * fin ; // pointeur sur le fin
} Liste;
polynome *lire(){
Monome m;
polynome*p=new polynome;
while(true){
while (c != NULL) {
cout << c->donnee.coefficient << "*x^" << c->donnee.exposant;
c = c->suivant;
if (c != NULL) {
cout << " + ";
}
}
cout << endl;
}
int degre(polynome*p){
cellule*d=new cellule;
d=p->debut;
TypeListe donnee;
int degre=0;
while (d!= NULL) {
if (d->donnee.exposant > degre) {
degre = d->donnee.exposant;
}
d = d->suivant;
}
return degre;
}
polynome*somme(polynome*a,polynome*b){
polynome*s=init();
cellule*h=new cellule;
cellule*i=new cellule;
cellule*n=new cellule;
h=a->debut;
i=b->debut;
while(h!=NULL||i!=NULL){
if(h!=NULL){
ajouter_monome(s,h->donnee.coefficient,h->donnee.exposant);
h=h->suivant;
}
if(i!=NULL){
ajouter_monome(s,i->donnee.coefficient,i->donnee.exposant);
i=i->suivant;
}
n=s->debut;
while(n!=NULL){
if(n->donnee.coefficient==0)
supprimer_monome(s,n->donnee.exposant);
n=n->suivant;
}
return s;
}
}
int main(){
polynome *p;
cellule*d;
TypeListe donnee;
double coeff;
int exp;
d->donnee.exposant=exp;
d->donnee.coefficient=coeff;
p=init();
int h=0;
cout << "Entrez un polynome: "<<endl;
p=lire();
// Lecture du polynôme à partir d'une chaîne de caractères
afficher(p);
h=degre(p);
cout << "Le degré du polynome est:"<<h<<endl;
supprimer_monome(p,exp);
return 0;
}
Exemple d’exécution