SEQUENCE 6 : Pointeurs, Utilisation de Malloc et Free

L'objectif de ce TP est la création d' un module en C, permettant la manipulation de nombres complexes. On écrira trois programmes complex.h, complex.c et main.c.

Manipulation des complexes

Ce module devra offrir dans un premier temps les possibilités suivantes:

Clonage des Objets

Regarder, pour JAVA, la méthode
 Object clone() 
de l'API. Implémenter en C, une méthode de clonage des nombres complexes.

Gestion de la Mémoire

Implémenter une méthode permettant de supprimer un nombre complexe.

Implémenter une méthode calculant la puissance nième d'un nombre complexe z, en libérant la mémoire utilisée pour les calculs intermédiaires.

Application

Soit la fonction fc(z) =z 2 + c, où z et c sont des complexes. Ecrire une fonction
char star_white(complex c, int max_iter)
qui retourne le caractère * lorsque le module de fcm(0) devient supérieur à 2 avant que m n'atteigne le nombre maximal d'itérations proposées, et un blanc sinon.

On veut écrire une fonction

void display_square(int n,int max_iter)
qui affiche un carré de n sur n caractères * ou blancs. On suppose que les parties réelles et imaginaires du complexe c appartiennent à l'intervale [-2,2]. Pour n donné, on prendra n valeurs réparties uniformément dans l'intervale [-2,2]. Pour tout couple de ces valeurs, on obtient un complexe c, pour lequel on affiche star_white(c, max_iter).