Exercice langage C : Addition de deux nombres complexes

Ecrire une fonction somme qui permet de faire l'addition de deux nombres complexes

Ecrire le programme principal qui

- saisie les parties réelles et  les parties imaginaires de deux nombres complexes,

- calcule la somme de deux nombres complexes (fait appel à la fonction somme),

- affiche le résultat de la somme

Modification du programme:

Ecrire une fonction qui permet de saisir la partie réelle et la partie imaginaire d'un nombre complexe.

Ecrire une fonction qui affiche un nombre complexe.

Ecrire le programme principal qui fait appel à ces fonctions.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* 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;
}