Mais mais mais ? Comment tu manipules des nombres complexes en C ? Tu utilises des tableaux de double. Le type "nombre complexe" n'existe pas en C. Déjà avant d'appeler ta fonction de décalage, je ne vois même pas comment tu as pu remplir un tableau de double avec des nombres complexes.
Il faut que tu créés toi-même une structure représentant les nombres complexes. Par exemple :
1 2 3 4
| typedef struc COMPLEX_NUMBER{
double real_part;
double imaginary_part;
} |
Et ta fonction de décalage marche pour des tableaux de n'importe quel type. Il suffit de remplacer double par ce type :
void test(COMPLEX_NUMBER*x, COMPLEX_NUMBER*z, int n)
(n'oublie pas le double temp dans le corps de la fonction)
Je sais pas ce que tu veux faire de tes nombres complexes, mais bien évidemment il te faudra réécrire toutes les opérations de base pour qu'elles marchent sur les complexes : addition, multiplication...
C'est dommage que tu sois pas en C++ :
http://farside.ph.utexas.edu/teachin...es/node27.html
Partager