/* Somme de deux complexes
* NB: Les complexes sont proposés dans la norme C99,
* faire 'man complex'
*/
#include
/* Somme de deux complexes : (sr + i*si) = (r1 + i*i1) + (r2 + i*i2) */
void somme(double r1, double i1, double r2, double i2, double *sr, double *si)
{
*sr = r1 + r2;
*si = i1 + i2;
}
int main()
{
double re1 ,im1, re2, im2, resomme ,imsomme;
printf("z1. partie reelle : "); scanf("%lf",&re1);
printf("z1. partie imaginaire: "); scanf("%lf",&im1);
printf("z2. partie reelle : "); scanf("%lf",&re2);
printf("z2. partie imaginaire: "); scanf("%lf",&im2);
somme (re1, im1, re2, im2, &resomme, &imsomme);
printf("complexe = %f + i %f \n", resomme, imsomme);
return 0;
}
b)
/* Version avec de nouvelles fonctions */
#include
/* Saisie au clavier d'un complexe */
void saisie(double *pr, double *pi)
{
printf("partie reelle : "); scanf("%lf",pr);
printf("partie imaginaire: "); scanf("%lf",pi);
}
/* Somme de deux complexes */
void somme(double r1, double i1, double r2, double i2, double *sr, double *si)
{
*sr = r1 + r2;
*si = i1 + i2;
}
/* Affichage d'un complexe */
void affiche (double pr, double pi)
{
printf("complexe = %f + i %f \n", pr, pi);
}
int main()
{
double re1 ,im1, re2, im2, resomme ,imsomme;
saisie(&re1, &im1);
saisie(&re2, &im2);
somme(re1, im1, re2, im2, &resomme, &imsomme);
affiche(resomme, imsomme);
return 0;
}