Bonjour à tous,

Actuellement, je suis étudiant et j'apprends le langage C. Et je vois en ce moment les structures. Mon prof vient de me filer un exercice sur les structures que voici :

Un polynôme à une variable (type "polynôme") sera représenté comme une liste chaînée d'enregistrements, chaque enregistrement (type "terme") contenant le coefficient et le degré d'un terme du polynôme, ainsi qu'un pointeur sur l'enregistrement suivant. Les termes sertont ordonnés par valeurs d'exposants décroissants et les termes de coefficients nul ne seront pas représentés. Par exemple, le coefficient 4*x^3+12*x-7 sera représenté par une liste de trois "termes", le premier ayant le coefficient 4 et le degré 3, le deuxième ayant le coefficient 12 et le degré 1 et le troisième ayant le coefficient -7 et le degré 0.

a. Donner les déclarations C des types terme et polynôme. Ecrire une fonction C nouveau qui crée un objet de type terme dont les champs portent des valeurs passés en paramètres à la fonction, et qui renvoie son adresse.

J'ai pensé à cette solution :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
typedef struct terme {
int coeff
int degre
} terme
 
typedef struct Polynome{
terme
struct Ploynome*  Ploy_suivant
} Poly
Par contre, je ne vois pas comment écrire la fonction "nouveau" (au niveau de la structure).

Attention : Je ne demande pas la solution sur un plateau d'argent mais qu'on m'explique pour que je puisse comprendre (mais je ne pense pas que ça soit la philosophie du forum de donner la réponse sur un plateau).

D'avance merci...