Programmer en C

Zacko47 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Besoin d'aides svp

écrire un programme en C permettant à un élève de terminal de vérifier les résultats de l'arithmétique dans un nombre complexe où la partie réel et la partie imaginaire sont des entiers.

Ma question est de savoir si je dois utiliser les nombres où appliquer juste les propriétés des nombres complexes sur l'addition, le produit, la soustraction.
Comme on sait que z=a+ ib
Si a=0 alors z est dit imaginaire
Si b=0 alors z est dit réel
Soit j'applique dans mon programme comme en haut où dois-je utiliser les exemples arithmétiques. Comme pour la somme je pose ( 5+2i)+(-2+i) je calcule puis afficher le résultat dans mon programme.
A voir également:

2 réponses

Marcbru
 
Bonjour,

Vous avez z1 et z2, deux nombres complexes

Par ex: vous voulez que votre programme fasse z1+z2
Je pense que le mieux et le plus facile est de décomposer partie réel et partie imaginaire.. et de faire:
Re(z3)= Re(z1)+Re(z2)
Im(z3)=Im(z1)+Im(z2)
z3=Re(z3)+i*Im(z3)

Faites néanmoins attention lors de la multiplication!! car:
Re(z3)=Re(z1)*Re(z2)-Im(z1)*Im(z2)
Im(z3)=Re(z1)*Im(z2)+Re(z2)*Im(z1)

Il me semble qu'il existe des fonction Re et Im en C
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut Zacko47,

Depuis la révision du standard C99, le langage C supporte les nombres complexes.

https://en.cppreference.com/w/c/numeric/complex

Le compilateur gcc comprend ce support et propose l'entête
<complex.h>
qui donne accès aux types
float complex
,
double complex
et
long double complex
, à des macros et fonctions permettant de les manipuler, et tu peux utiliser, avec ces nombres, les opérateurs standard +, -, *, /.

Tu as des exemples sur la page cppreference.com précitée, ainsi que sur ce post sur SO :

https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c

Je ne suis pas matheux, alors je te laisse apprécier si tout cela t'est utile :-)

Dal
0