Bonjour, j'ai un projet a faire pour mon cours d'algorithmique auquel j'y comprend absolument rien. Y'aurait-il pas une âme charitable pour me faire une partie qui est de créé des fonction avec des vecteurs?
Voici la partie en question :
Question 2.1 Donner le code d’une fonction qui crée un ensemble de pointsCode:
1
2
3
4
5
6
7
8
9
10 struct vec { double x; double y; }; struct vecset { struct vec *data; size_t size; size_t capacity; };
vide.
Question 2.2 Donner le code d’une fonction qui détruit un ensemble deCode:void vecset_create(struct vecset *self);
points.
Question 2.3 Donner le code d’une fonction qui ajoute un point à un ensembleCode:void vecset_destroy(struct vecset *self);
de points.
Code:void vecset_add(struct vecset *self, struct vec p);
On considère une fonction de comparaison de points avec un contexte qui
renvoie un entier strictement négatif si p1 est «plus petit» que p2, un entier
strictement positif si p1 est «plus grand» que p2 et 0 si p1 est «égal» à p2.
Question 2.4 Donner le code d’une fonction qui renvoie le maximum d’unCode:
1
2 typedef int (*comp_func_t)(const struct vec *p1, const struct vec *p2, const void *ctx);
ensemble de points suivant une fonction de comparaison donnée.
Question 2.5 Donner le code d’une fonction qui renvoie le minimum d’unCode:
1
2 const struct vec *vecset_max(const struct vecset *self, comp_func_t func, const void *ctx);
ensemble de points suivant une fonction de comparaison donnée.
Question 2.6 Donner le code d’une fonction qui trie l’ensemble de pointsCode:
1
2 const struct vec *vecset_min(const struct vecset *self, comp_func_t func, const void *ctx);
suivant la fonction de comparaison donnée.
—Code:
1
2 void vecset_sort(struct vecset *self, comp_func_t func, const void *ctx);
On va maintenant voir le tableau dynamique comme une pile, avec le haut
de la pile à la fin du tableau.
Question 2.7 Donner le code d’une fonction qui empile un élément.
Question 2.8 Donner le code d’une fonction qui dépile un élément.Code:void vecset_push(struct vecset *self, struct vec p);
Question 2.9 Donner le code d’une fonction qui renvoie le premier élémentCode:void vecset_pop(struct vecset *self);
de la pile.
Question 2.10 Donner le code d’une fonction qui renvoie le second élémentCode:const struct vec *vecset_top(const struct vecset *self);
de la pile.
Code:const struct vec *vecset_second(const struct vecset *self);