bonsoir a tous, j vient de faire un projet en c" representation des polynomes creux avec les listes doublements chainée. ya un problème mais je sais pas comment le corrigeroops:. svp pouvez vous m'aider.
bonsoir a tous, j vient de faire un projet en c" representation des polynomes creux avec les listes doublements chainée. ya un problème mais je sais pas comment le corrigeroops:. svp pouvez vous m'aider.
main: test_poly
polly.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { {int i; ppoly pt; do{ printf("\n --------------------- MENU --------------------- \n"); printf("\n 1 : suppretion d'un monome a partir de son degrer"); printf("\n 2 : multiplication d'un polynome par un scalaire(entier)"); printf("\n 3 : multiplication d'un polynome par un monome"); printf("\n 4 : addition de deux polynome"); printf("\n 0 : quité le programme"); printf("\n\n =====> Donnez votre choix :",i); scanf("%d",&i); switch(i){ case 1:suppr(); break; case 2:tete mul_scalaire(ppoly pt,int a); break; case 3:tete mul_monome(ppoly pt); break; case 4:tete add(ppoly pp,ppoly pt); break; } }while(i!=0); getch(); return 0; }
poly.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #ifndef __Poly #define __Poly typedef struct monome { int deg; int cof; struct monome *next; struct monome *pred; }poly; typedef poly* ppoly; typedef struct Tete{ ppoly ptg; ppoly ptd; }tete; tete t; tete t1; tete t2; tete h; tete suppr(); tete mul_scalaire(ppoly pt,int a) tete mul_monome(ppoly pt); tete add(ppoly pp,ppoly pt); #endif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111 #include<stdio.h> #include <stdlib.h> #include "poly.h" // supprimer monome d'un polynome tete suppr(){ppoly pp,pc,pn; int a; pp=t.ptg; printf("\n ENTRER LE DERGER DE MONOME A SUPPRIMER\n",a); scanf("%d",&a); if(pp==NULL) printf("\n ERREUR ."); else {while(pp!=NULL){if(pp->deg==a){pc=pp->pred; pn=pp->next; if(pc==NULL)t.ptg=pn; else pc->next=pn; if(pn==NULL)t.ptd=pc; else pn->pred=pc; free(pp); return t;} else pp=pp->next; } if(pp==NULL){pc=pp->pred; pc->next=NULL; t.ptd=pc; free(pp); return t;} }printf("_n le monome que vous voulez supprimer n'existe pas"); return t; } //multiplication d'un polynome par un scalaire tete mul_scalaire(ppoly pt,int a){ ppoly pp; int a; pp=t.ptg; printf("donner la valeur de a"); scanf("%d",&a); if(pp==NULL) printf("erreur: polynome est nule"); else { while(pp!=NULL) { pp->cof=(pp->cof)*a; pp=pp->next; return t; } if(pp==NULL) printf("operation effectue"); } return t; } // multiplication d'un polynome par un monome tete mul_monome(ppoly pt){ ppoly pp,pt; pp=t.ptg; if(pp==0) printf("erreur: polynome nule "); else { while(pp!=NULL) { (pp->cof)*=(pt->cof); (pp->deg)+=(pt->deg); pp=pp->next; return t; } if(pp==NULL) printf("operation effectué"); } return t; } // addition de deux polynome tete add(ppoly pp,ppoly pt){ ppoly pp,pt,pc; pp=t1.ptg; pt=t2.ptg; pc=t.ptg; pc=NULL; while(pp!=NULL || pt!=NULL) { if(pp->deg=pt->deg) { pc->cof=(pp->cof)+(pt->cof); pc->deg=pp->deg; pp=pp->next; pt=pt->next; return t; } else{ if(pp->deg>pt->deg) { pc->cof=pp->cof; pc->deg=pp->deg; pp=pp->next; return t; } else { pc->cof=pt->cof, pc->deg=pt->deg; pt=pt->next; return t; } } if(pp==NULL) return t2; if(pt==NULL) return t1; } return t; }
Peux-tu nous donner plus de précision sur la nature du ou des problème(s) que tu rencontres. N'oublie pas d'éditer ton message précédent en ajoutant les base de code pour rendre ton code source avec indentation et coloration syntaxique.
Avec mes meilleures salutations
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Quelques remarques rapides :
1- test_poly.c devrait inclure "polly.h" pour avoir la définition de ppoly
2- On n'appelle pas les fonctions de cette façon :
ici ce sont des prototypes de fonctions, pas des appels.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 case 2:tete mul_scalaire(ppoly pt,int a); break; case 3:tete mul_monome(ppoly pt); break; case 4:tete add(ppoly pp,ppoly pt);
3- polly.h :
lignes 15-18 : On ne doit pas définir de variables dans un .h
ligne 22 il manque un ; pour terminer le prototype
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 tete t; tete t1; tete t2; tete h;
Publication : Concepts en C
Mon avatar : Glenn Gould
--------------------------------------------------------------------------
Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager