Programmer en C

Zacko47 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6122 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.

2 réponses

  1. 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
  2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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