Bonjour a tous,
Merci de m apporter une aide pour resoudre mon probleme.
En fait je veux presenter la reponse de mon equation complexe sous la reponse Z = a +ib; Mais je ne sais pas comment recuperer ou envoyer les adresses de la partie reelle et imaginaire a ma fonction main. voila mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
include <math.h>
#include <stdio.h>
 
void equation( double a, double b, double c, double *x1, double *x2, double *z1,double *z2 )
 
{
        double d = (pow(b,2)- 4*a*c);
        double D = 0;
        //int i;
        double help0, help1,help2,help3;
        double partieImag1,partieImag2, partieReelle1, partieReelle2;
        printf("\n Le discrminant est d = %.3lf\n",d );
 
 
 
        if (d < 0)
        {
                printf("\n Solution complexe \n");
                help0 = d;// le discriminant etant negatif 
                help1 = - help0;//je prends la valeur positive
                help2 = sqrt(help1);
                help3 = - sqrt(help1);
                partieReelle1 = (-b / 2 * a);
                partieImag1 = (help2 / 2 * a);
                partieReelle2 = (-b / 2 * a);
                partieImag2 = (help3 / 2 * a);
 
                *z1 = partieReelle1 + partieImag1 ;
                *z2 = partieReelle2 + partieImag2 ;
 
 
 
        }
        else if (d == 0)
        { 
                printf(" Une solution relle \n");
                *x1 = (-b)/(2*a);
        }
        else 
        {
                printf("\n Deux solution Reelles\n");
                *x1 = (-b + sqrt (d))/ (2 * a);
                *x2 = (-b - sqrt (d))/ (2 * a);
        }
 
 
}
 
 
 
main ()
{
        double a,b,c,result1, result2, result3, result4;
        double partieImag1 = 0;
        double partieImag2 = 0;
        double partieReelle1 = 0;
        double partieReelle2 = 0;
        erg1 = 0;
        erg2 = 0;
        erg3 = 0;
        erg4 = 0;
        int i = 0;
 
        printf("Entrez a:\t");
        scanf("%lf", &a);
 
        printf("Entrez b:\t");
        scanf("%lf", &b);
 
        printf("Entrez c:\t");
        scanf("%lf", &c);
 
        equation (a,b,c,&result,&result2,&result3,&result4);
             if(erg1 != 0 )
        {
        printf("\n x1 = %f \n",result1);
        }
        if(erg2 != 0)
        {
        printf("\n x2 = %f \n",result2);
        }
                if(erg3 != 0)
                {
                printf("\n z1 = %f +  i %f \n",result3,partieReelle1,partieImag1);
                }
                if(erg4 != 0)
                {
                printf("\n z2 = %f + i %f \n",result4,partieReelle2,partieImag2);
                }
      }