Exercice langage C manipulation de nombres complexes

#include 
#include 

using namespace std;

struct Complexe{
  float re, im;
};

Complexe init_comp(float re, float im) {
  Complexe c;
  c.re = re;
  c.im = im;

  return c;
}

void afficher_comp(Complexe C) {
  cout << C.re << " + i " << C.im << endl;
}

Complexe add_comp(Complexe C1, Complexe C2) {
  return init_comp(C1.re + C2.re, C1.im + C2.im);
}

Complexe mult_comp(Complexe C1, Complexe C2) {
  return init_comp(C1.re * C2.re - C1.im * C2.im, C1.re * C2.im + C1.im * C2.re);
}

Complexe mult_scal_comp(float s, Complexe C) {
  return init_comp(s * C.re, s * C.im);
}

Complexe sqrt_comp(float r) {
  if (r >=0)
    return init_comp(sqrt(r), 0);
  else
    return init_comp(0, -sqrt(-r));
}

float module(Complexe C) {
  return sqrt(C.re * C.re + C.im * C.im);
}

int main(int argc, char **argv) {
  Complexe z1, z2;

  z1 = init_comp(1, 2);
  z2 = init_comp(2, 5);

  afficher_comp(add_comp(z1, z2));
  afficher_comp(mult_comp(z1, z2));
  afficher_comp(mult_scal_comp(3, z2));
  afficher_comp(sqrt_comp(-9));

  cout << module(z1) << endl;

  return 0;
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *