Exercice langage C corrigé addition de deux nombres complexes

/* 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;
}

Télécharger aussi :

Laisser un commentaire

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