Exercice listes chainées
nerazzurri
-
taktakach -
taktakach -
Bonjour,je suis débutant en c et je voudrais resoudre un petit exercice consiste à afficher un menu comporte 5 opérations [ 1) Ajout 2) Modification 3) Consultation 4) Suppression 0) Quitter ], sur enregistrement sa définition est comme suite [ struct fiche { char nom[25];
char prenom[20]; int age; int code; struct fiche *pSuivant ; }; ] (à l'aide des listes chainées ) , s'il ya quelqu'un qui peut m'aider je serai trés content et merci.
char prenom[20]; int age; int code; struct fiche *pSuivant ; }; ] (à l'aide des listes chainées ) , s'il ya quelqu'un qui peut m'aider je serai trés content et merci.
A voir également:
- Exercice liste chainée
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Site dangereux liste - Guide
- Voir liste d'amis facebook - Guide
11 réponses
voici un programe qui contient 7 operations ajouter une liste entete,ajouter en fin,inserer une liste,afficher tous,rechercher par reference et afficher,la suppression d'une liste,modifier une liste.
concernant la gestion d'un produit(reference,nom,prix de vente ,prix d'achat)
il suffit seulement d 'avoir un sens d'imagination et de bien ce concentrer et aprés c'est sur qu'il
apparaitera que c'est simple
je souhaite qu'il vous plais,bon courage!!!
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct produit{
int ref;
char nom[30];
float p_vente,p_achat;
produit* next;
};
produit* ajouter_produit_entete(produit* list){
produit* nv=(produit*)malloc(sizeof(produit));
if(list==NULL){
printf("on va initialiser par la premiere liste\n");
}
printf("donner le ref de produit");
scanf("%d",&(*nv).ref);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==nv->ref){
printf(" ce ref exist deja essayez encore\n");
return list;
goto sortie;
}
tmp=tmp->next;
}
printf("donner lenom de produit");
scanf("%s",(*nv).nom);
printf("donner la prix d'achat ");
scanf("%f",&(*nv).p_achat);
printf("donner la prix de vente");
scanf("%f",&(*nv).p_vente);
nv->next=list;
return nv ;
sortie:;
}
void afficher_tout(produit*list){
produit* tmp;
tmp=list;
if(tmp==NULL){
printf("acune liste a afficher ajoutez une\n");
}
while(tmp!=NULL){
printf("le ref de produit est:%d\n",tmp->ref);
printf("le nom de produit est:%s\n",tmp->nom);
printf("le prix d'achat de produit est:%f\n",tmp->p_achat);
printf("le prix de vente de produit est:%f\n",tmp->p_vente);
tmp=tmp->next;
}
}
produit* ajouter_enfin(produit*list){
produit* nv=(produit*)malloc(sizeof(produit));
if(list==NULL){
printf("on va initialiser par la premiere liste liste\n");
}
printf("donner le ref de produit");
scanf("%d",&(*nv).ref);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==nv->ref){
printf(" ce reference concerne un autre produit\n");
return list;
goto sortie ;
}
tmp=tmp->next;
}
printf("donner lenom de produit");
scanf("%s",(*nv).nom);
printf("donner la prix d'achat ");
scanf("%f",&(*nv).p_achat);
printf("donner la prix de vente");
scanf("%f",&(*nv).p_vente);
nv->next=NULL;
if(list==NULL){
return nv;
}else{
produit*tmpe;
tmpe=list;
while(tmpe->next!=NULL){
tmpe=tmpe->next;
}
tmpe->next=nv;
return list;
}
sortie:;
}
produit* inserer_une_liste(produit* list){
if(list==NULL){
printf("on va initialiser par la premiere liste car elle n' existe aucune \n");
}
produit* nv=(produit*)malloc(sizeof(produit));
printf("donner le ref de produit");
scanf("%d",&(*nv).ref);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==nv->ref){
printf(" ce ref exist deja essayez encore\n");
return list;
goto sortie ;
}
tmp=tmp->next;
}
printf("donner lenom de produit");
scanf("%s",(*nv).nom);
printf("donner la prix d'achat ");
scanf("%f",&(*nv).p_achat);
printf("donner la prix de vente");
scanf("%f",&(*nv).p_vente);
if(list==NULL){
nv->next=list;
return nv;
}else{
printf("donner le ref de produit que vous voulez inserer apre");
int a;
scanf("%d",&a);
produit* tmp;
tmp=list;
while(tmp->ref!=a ){
tmp=tmp->next;
if(tmp==NULL){
printf("ereure!!! vous ne devez pas donner le ref du produit que vous ");
printf("voulez inserer mais celui d'un autre qui existe deja\n");
return list;
goto sortie ;
}
}
nv->next=tmp->next;
tmp->next=nv;
return list;
}
sortie:;
}
void rechercher_par_ref_et_affiche(produit*list){
printf("donner le ref de produit que vous voulez afficher");
int a;
scanf("%d",&a);
produit* tmp;
tmp=list;
while(tmp->ref!=a ){
tmp=tmp->next;
if(tmp==NULL){
printf("le ref du produit que vous voulez afficher n'existe pas\n ");
goto sortie;
}
}
printf("le ref de produit est:%d\n",tmp->ref);
printf("le nom de produit est:%s\n",tmp->nom);
printf("le prix d'achat de produit est:%f\n",tmp->p_achat);
printf("le prix de vente de produit est:%f\n",tmp->p_vente);
sortie:;
}
produit* supprimer(produit* list){
if(list==NULL){
goto sortie1;
}
printf("donner le ref de produit que vous voulez supprimer");
int a;
scanf("%d",&a);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==a){
printf(" la liste concernant ce produit va etre suprime\n");
goto sortie2 ;
}
tmp=tmp->next;
}
if(tmp==NULL){
printf("le ref que vous avez donner n'existe pas\n");
goto sortie3;
}
sortie2:
if(tmp==list){
list=list->next;
}else{
produit*tmp2;
tmp2=list;
while(tmp2->next!=tmp){
tmp2=tmp2->next;
}
tmp2->next=tmp->next;
free(tmp);
};
return list;
sortie1:
printf("elle n'y a aucune liste a supprimer vous devez ajouter au moins une\n");
return list;
sortie3:
return list;
}
produit* modifier(produit*list){
if(list==NULL){
printf(" elle n'existe aucune liste a modifier\n");
return list;
}else{
printf("donner le ref de produit que vous voulez modifier\n------->");
int a;
scanf("%d",&a);
produit *tmp;
tmp=list;
while(tmp->ref!=a){
tmp=tmp->next;
if(tmp==NULL){
goto sortie1;
}
}
printf("donnez le nouveau ref");
int b;
scanf("%d",&b);
produit * tmpe;
tmpe=list;
if(tmp->ref!=b){
while(tmpe!=NULL){
if(tmpe->ref==b){
goto sortie2;
}
tmpe=tmpe->next;
}
}
tmp->ref=b;
printf("donner lenom de produit");
scanf("%s",tmp->nom);
printf("donner la prix d'achat ");
scanf("%f",&tmp->p_achat);
printf("donner la prix de vente");
scanf("%f",&tmp->p_vente);
return list;
sortie1:;
printf("ce ref n'exite pas\n");
return list;
sortie2:;
printf("c'est un reference concernant un autre produit!!!!???\n");
return list;
}
}
void Menu(produit* list){
int a;
while(a!=0){
printf("--------------------------*****bonjour:******--------------------------");
printf("\n voila le menue :\n0-pour exit\n1-ajouter une liste entete");
printf("\n2-ajouter en fin\n3-inserer une liste\n4-afficher tous\n");
printf("5-rechercher par ref et afficher\n6-la suppression d'une liste\n7-modifier une liste\ndonner le numero de la tahe que vous voulez executer\n ---->");
scanf("%d",&a);
switch(a){
case 1: list= ajouter_produit_entete(list);break;
case 4: afficher_tout(list);break;
case 2: list=ajouter_enfin(list);break;
case 3:list= inserer_une_liste(list);break;
case 5: rechercher_par_ref_et_affiche(list);break;
case 6: list = supprimer(list);break;
case 7: list =modifier(list);break;
default : printf("\n ----------------------------\n ****** Indice hors limites !! *******\n-------------------------\n");break;
}
}
}
main(){
produit* la_liste;
la_liste=NULL;
Menu(la_liste);
}
concernant la gestion d'un produit(reference,nom,prix de vente ,prix d'achat)
il suffit seulement d 'avoir un sens d'imagination et de bien ce concentrer et aprés c'est sur qu'il
apparaitera que c'est simple
je souhaite qu'il vous plais,bon courage!!!
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct produit{
int ref;
char nom[30];
float p_vente,p_achat;
produit* next;
};
produit* ajouter_produit_entete(produit* list){
produit* nv=(produit*)malloc(sizeof(produit));
if(list==NULL){
printf("on va initialiser par la premiere liste\n");
}
printf("donner le ref de produit");
scanf("%d",&(*nv).ref);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==nv->ref){
printf(" ce ref exist deja essayez encore\n");
return list;
goto sortie;
}
tmp=tmp->next;
}
printf("donner lenom de produit");
scanf("%s",(*nv).nom);
printf("donner la prix d'achat ");
scanf("%f",&(*nv).p_achat);
printf("donner la prix de vente");
scanf("%f",&(*nv).p_vente);
nv->next=list;
return nv ;
sortie:;
}
void afficher_tout(produit*list){
produit* tmp;
tmp=list;
if(tmp==NULL){
printf("acune liste a afficher ajoutez une\n");
}
while(tmp!=NULL){
printf("le ref de produit est:%d\n",tmp->ref);
printf("le nom de produit est:%s\n",tmp->nom);
printf("le prix d'achat de produit est:%f\n",tmp->p_achat);
printf("le prix de vente de produit est:%f\n",tmp->p_vente);
tmp=tmp->next;
}
}
produit* ajouter_enfin(produit*list){
produit* nv=(produit*)malloc(sizeof(produit));
if(list==NULL){
printf("on va initialiser par la premiere liste liste\n");
}
printf("donner le ref de produit");
scanf("%d",&(*nv).ref);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==nv->ref){
printf(" ce reference concerne un autre produit\n");
return list;
goto sortie ;
}
tmp=tmp->next;
}
printf("donner lenom de produit");
scanf("%s",(*nv).nom);
printf("donner la prix d'achat ");
scanf("%f",&(*nv).p_achat);
printf("donner la prix de vente");
scanf("%f",&(*nv).p_vente);
nv->next=NULL;
if(list==NULL){
return nv;
}else{
produit*tmpe;
tmpe=list;
while(tmpe->next!=NULL){
tmpe=tmpe->next;
}
tmpe->next=nv;
return list;
}
sortie:;
}
produit* inserer_une_liste(produit* list){
if(list==NULL){
printf("on va initialiser par la premiere liste car elle n' existe aucune \n");
}
produit* nv=(produit*)malloc(sizeof(produit));
printf("donner le ref de produit");
scanf("%d",&(*nv).ref);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==nv->ref){
printf(" ce ref exist deja essayez encore\n");
return list;
goto sortie ;
}
tmp=tmp->next;
}
printf("donner lenom de produit");
scanf("%s",(*nv).nom);
printf("donner la prix d'achat ");
scanf("%f",&(*nv).p_achat);
printf("donner la prix de vente");
scanf("%f",&(*nv).p_vente);
if(list==NULL){
nv->next=list;
return nv;
}else{
printf("donner le ref de produit que vous voulez inserer apre");
int a;
scanf("%d",&a);
produit* tmp;
tmp=list;
while(tmp->ref!=a ){
tmp=tmp->next;
if(tmp==NULL){
printf("ereure!!! vous ne devez pas donner le ref du produit que vous ");
printf("voulez inserer mais celui d'un autre qui existe deja\n");
return list;
goto sortie ;
}
}
nv->next=tmp->next;
tmp->next=nv;
return list;
}
sortie:;
}
void rechercher_par_ref_et_affiche(produit*list){
printf("donner le ref de produit que vous voulez afficher");
int a;
scanf("%d",&a);
produit* tmp;
tmp=list;
while(tmp->ref!=a ){
tmp=tmp->next;
if(tmp==NULL){
printf("le ref du produit que vous voulez afficher n'existe pas\n ");
goto sortie;
}
}
printf("le ref de produit est:%d\n",tmp->ref);
printf("le nom de produit est:%s\n",tmp->nom);
printf("le prix d'achat de produit est:%f\n",tmp->p_achat);
printf("le prix de vente de produit est:%f\n",tmp->p_vente);
sortie:;
}
produit* supprimer(produit* list){
if(list==NULL){
goto sortie1;
}
printf("donner le ref de produit que vous voulez supprimer");
int a;
scanf("%d",&a);
produit* tmp;
tmp=list;
while(tmp!=NULL){
if(tmp->ref==a){
printf(" la liste concernant ce produit va etre suprime\n");
goto sortie2 ;
}
tmp=tmp->next;
}
if(tmp==NULL){
printf("le ref que vous avez donner n'existe pas\n");
goto sortie3;
}
sortie2:
if(tmp==list){
list=list->next;
}else{
produit*tmp2;
tmp2=list;
while(tmp2->next!=tmp){
tmp2=tmp2->next;
}
tmp2->next=tmp->next;
free(tmp);
};
return list;
sortie1:
printf("elle n'y a aucune liste a supprimer vous devez ajouter au moins une\n");
return list;
sortie3:
return list;
}
produit* modifier(produit*list){
if(list==NULL){
printf(" elle n'existe aucune liste a modifier\n");
return list;
}else{
printf("donner le ref de produit que vous voulez modifier\n------->");
int a;
scanf("%d",&a);
produit *tmp;
tmp=list;
while(tmp->ref!=a){
tmp=tmp->next;
if(tmp==NULL){
goto sortie1;
}
}
printf("donnez le nouveau ref");
int b;
scanf("%d",&b);
produit * tmpe;
tmpe=list;
if(tmp->ref!=b){
while(tmpe!=NULL){
if(tmpe->ref==b){
goto sortie2;
}
tmpe=tmpe->next;
}
}
tmp->ref=b;
printf("donner lenom de produit");
scanf("%s",tmp->nom);
printf("donner la prix d'achat ");
scanf("%f",&tmp->p_achat);
printf("donner la prix de vente");
scanf("%f",&tmp->p_vente);
return list;
sortie1:;
printf("ce ref n'exite pas\n");
return list;
sortie2:;
printf("c'est un reference concernant un autre produit!!!!???\n");
return list;
}
}
void Menu(produit* list){
int a;
while(a!=0){
printf("--------------------------*****bonjour:******--------------------------");
printf("\n voila le menue :\n0-pour exit\n1-ajouter une liste entete");
printf("\n2-ajouter en fin\n3-inserer une liste\n4-afficher tous\n");
printf("5-rechercher par ref et afficher\n6-la suppression d'une liste\n7-modifier une liste\ndonner le numero de la tahe que vous voulez executer\n ---->");
scanf("%d",&a);
switch(a){
case 1: list= ajouter_produit_entete(list);break;
case 4: afficher_tout(list);break;
case 2: list=ajouter_enfin(list);break;
case 3:list= inserer_une_liste(list);break;
case 5: rechercher_par_ref_et_affiche(list);break;
case 6: list = supprimer(list);break;
case 7: list =modifier(list);break;
default : printf("\n ----------------------------\n ****** Indice hors limites !! *******\n-------------------------\n");break;
}
}
}
main(){
produit* la_liste;
la_liste=NULL;
Menu(la_liste);
}
slt, voilà ce que j'était fait , j'ai réalisé seulement l'opération d'ajout mais elle ne fonctionne pas, je ne sais pas ou est le pbme, quand j'execute le pgme il ne teste pas la boucle while
#include <conio.h>
#include <alloc.h>
#include <stdio.h>
struct fiche{
char nom[25];
char prenom[20];
int age;
int code;
struct fiche*pSuivant;
};
void main()
{int choix;
struct fiche*nouveau;
struct fiche*tete;
struct fiche*courant;
tete = NULL;
nouveau=(struct fiche*)malloc(sizeof(struct fiche));
nouveau->pSuivant=tete;
tete=nouveau;
clrscr;
printf(" ************************* Menu *************************\n");
printf(" * ---- *\n");
printf(" * 1) Ajout *\n");
printf(" * 2) Consultation *\n");
printf(" * 3) Modification *\n");
printf(" * 4) Suppression *\n");
printf(" * 0) Quiter *\n");
printf(" * *\n");
printf(" ********************************************************\n");
printf("\nQue voulez-vous faire ? Choisisez entre 1,2,3,4 ou quitter le programme 0: ");
scanf("%d",&choix);
switch (choix)
{
case 1 :{ clrscr;
printf("\n************** Ajout d'une nouvelle personne **************\n");
printf("\n Entrez le Nom, Prenom et l'Age : \n");
courant=tete;
if(tete!=NULL){
while(courant->pSuivant!=NULL){
courant=courant->pSuivant;
nouveau=(struct fiche*)malloc(sizeof(struct fiche));
courant->pSuivant=nouveau;
nouveau->pSuivant=NULL;
printf(" Nom : "); scanf("%s",nouveau->nom[25]);
printf(" Prenom : "); scanf("%s",nouveau->prenom[20]);
printf(" Age : "); scanf("%d",nouveau->age);
nouveau->code++ ;
}
}
};
case 2 :{ clrscr;
break;
}
}
getch();
}
#include <conio.h>
#include <alloc.h>
#include <stdio.h>
struct fiche{
char nom[25];
char prenom[20];
int age;
int code;
struct fiche*pSuivant;
};
void main()
{int choix;
struct fiche*nouveau;
struct fiche*tete;
struct fiche*courant;
tete = NULL;
nouveau=(struct fiche*)malloc(sizeof(struct fiche));
nouveau->pSuivant=tete;
tete=nouveau;
clrscr;
printf(" ************************* Menu *************************\n");
printf(" * ---- *\n");
printf(" * 1) Ajout *\n");
printf(" * 2) Consultation *\n");
printf(" * 3) Modification *\n");
printf(" * 4) Suppression *\n");
printf(" * 0) Quiter *\n");
printf(" * *\n");
printf(" ********************************************************\n");
printf("\nQue voulez-vous faire ? Choisisez entre 1,2,3,4 ou quitter le programme 0: ");
scanf("%d",&choix);
switch (choix)
{
case 1 :{ clrscr;
printf("\n************** Ajout d'une nouvelle personne **************\n");
printf("\n Entrez le Nom, Prenom et l'Age : \n");
courant=tete;
if(tete!=NULL){
while(courant->pSuivant!=NULL){
courant=courant->pSuivant;
nouveau=(struct fiche*)malloc(sizeof(struct fiche));
courant->pSuivant=nouveau;
nouveau->pSuivant=NULL;
printf(" Nom : "); scanf("%s",nouveau->nom[25]);
printf(" Prenom : "); scanf("%s",nouveau->prenom[20]);
printf(" Age : "); scanf("%d",nouveau->age);
nouveau->code++ ;
}
}
};
case 2 :{ clrscr;
break;
}
}
getch();
}
Si je peux me permettre, je n'aime pas trop ton allocation de mémoire!
C'est quoi cette idée d'allouer de la mémoire à un nouveau noeud avant même d'avoir choisi d'en créer un!
En plus, je ne saisis pas ta logique du tout... tu fais quoi? une pile?
je comprend pas pourquoi tu modifies la valeur de la tête avant même que le programme ait afficher le menu.
et pas étonnant que ton while marche pas, tu lui fais vérifier si courant->pSuivant!=NULL ... qui est déjà null...
vraiment, je comprend pas ton code!
C'est quoi cette idée d'allouer de la mémoire à un nouveau noeud avant même d'avoir choisi d'en créer un!
En plus, je ne saisis pas ta logique du tout... tu fais quoi? une pile?
je comprend pas pourquoi tu modifies la valeur de la tête avant même que le programme ait afficher le menu.
et pas étonnant que ton while marche pas, tu lui fais vérifier si courant->pSuivant!=NULL ... qui est déjà null...
vraiment, je comprend pas ton code!
slt, j'ai un pbme au niveau du remplissage des champs de l'enregistrement, comment utiliser les listes chainées pour remplir les champs
c-à-d ajouter enregistrement à une liste avec le remplissage de ses chomps
c-à-d ajouter enregistrement à une liste avec le remplissage de ses chomps
En fait, tu devrais utiliser cette stratégie pour ton programme:
A. Fait toi un menu du genre:
1. Ajouter un enregistrement
2. Modifier un enregistrement
3... etc
B. Lorque l'utilisateur appuie sur 1, tu appelles la fonction Ajouter(); 2 la fonction Modifier(); etc...
Et pour l'ajout d'enregistrement, tu n'as qu'à demander à l'utilisateur d'entrer une à la suite des autres les informations que tu as besoins (nom, prénom, etc.) avec des gets ou des scanf. Une fois que tu as récolté toutes tes données dans des variables, tu te crées une nouvelle occurence de ta structure avec ces informations et tu l'ajoutes dans ta liste.
J'espère avoir été clair et pas trop mélangeant!
si tu as des questions, laisse-toi aller!
A. Fait toi un menu du genre:
1. Ajouter un enregistrement
2. Modifier un enregistrement
3... etc
B. Lorque l'utilisateur appuie sur 1, tu appelles la fonction Ajouter(); 2 la fonction Modifier(); etc...
Et pour l'ajout d'enregistrement, tu n'as qu'à demander à l'utilisateur d'entrer une à la suite des autres les informations que tu as besoins (nom, prénom, etc.) avec des gets ou des scanf. Une fois que tu as récolté toutes tes données dans des variables, tu te crées une nouvelle occurence de ta structure avec ces informations et tu l'ajoutes dans ta liste.
J'espère avoir été clair et pas trop mélangeant!
si tu as des questions, laisse-toi aller!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
tu peux aussi t'inspirer ici http://www.commentcamarche.net/faq/sujet 7444 liste simplement chainee
tu peux aussi t'inspirer ici http://www.commentcamarche.net/faq/sujet 7444 liste simplement chainee
j'ai un controle tp et j'ai besoin de savoir la solution de ce exercice:
on veut représenter des polynomes de derés quelconque sous formae de listes chainées.pour cela,on dispose de 2 polynomes P1 et P2 de degrés n et m(n et m etant quelconques)représentés par deux listes chainées linéaires unidirectionnelles.
le travail demandé est d'additionner ces deux polynomes dans un troisiéme.
mercu de me répondre par un e-mail, vite
on veut représenter des polynomes de derés quelconque sous formae de listes chainées.pour cela,on dispose de 2 polynomes P1 et P2 de degrés n et m(n et m etant quelconques)représentés par deux listes chainées linéaires unidirectionnelles.
le travail demandé est d'additionner ces deux polynomes dans un troisiéme.
mercu de me répondre par un e-mail, vite
alors pour commencer, tes
tu peux les mettre avant ton if.
sinon tu as fai un " if(tete!=NULL) "
tu fais pas le "else" ???
dans ta logique, par rapport a ta chaine, où ajoutes-tu ton nouveau (juste voir si tu as bien compris ton analyse, me jete pas de tomates tout de suite ^^)
après il y a 10 mille truc qu'on pourrais te dire, mais je préfère attendre au fur et a mesure, pour que l'analyse soit clair dans ton esprit
printf(" Nom : "); scanf("%s",nouveau->nom[25]);
printf(" Prenom : "); scanf("%s",nouveau->prenom[20]);
printf(" Age : "); scanf("%d",nouveau->age);
tu peux les mettre avant ton if.
sinon tu as fai un " if(tete!=NULL) "
tu fais pas le "else" ???
dans ta logique, par rapport a ta chaine, où ajoutes-tu ton nouveau (juste voir si tu as bien compris ton analyse, me jete pas de tomates tout de suite ^^)
après il y a 10 mille truc qu'on pourrais te dire, mais je préfère attendre au fur et a mesure, pour que l'analyse soit clair dans ton esprit
exactement, et aprés chaque opération en revient au menu, mas pour ne pas compliquer les choses on peut ne pas utiliser les appelles aux fonctions pour chaque opération
j'ai un controle tp et j'ai besoin de savoir la solution de ce exercice:
on veut représenter des polynomes de derés quelconque sous formae de listes chainées.pour cela,on dispose de 2 polynomes P1 et P2 de degrés n et m(n et m etant quelconques)représentés par deux listes chainées linéaires unidirectionnelles.
le travail demandé est d'additionner ces deux polynomes dans un troisiéme.
mercu de me répondre
on veut représenter des polynomes de derés quelconque sous formae de listes chainées.pour cela,on dispose de 2 polynomes P1 et P2 de degrés n et m(n et m etant quelconques)représentés par deux listes chainées linéaires unidirectionnelles.
le travail demandé est d'additionner ces deux polynomes dans un troisiéme.
mercu de me répondre