ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo005.c
Go to the documentation of this file.
1
34
35#include <stdio.h>
36#include <math.h> /* sqrt() */
37
44int main(int argc, char *argv[])
45{
46 (void)argc;
47 (void)argv;
48
49 float a, b, c; /* coeficientes */
50 float r; /* discriminante Δ */
51 float x1r, x1i, x2r, x2i; /* partes real/imag de cada raíz */
52
53 printf("Ingrese el termino cuadratico: ");
54 scanf("%f", &a);
55
56 printf("Ingrese el termino lineal: ");
57 scanf("%f", &b);
58
59 printf("Ingrese el termino independiente: ");
60 scanf("%f", &c);
61
62 /* Δ = b^2 - 4ac */
63 r = b*b - 4*a*c;
64
65 /*
66 Para Δ >= 0:
67 x1 = (-b + sqrt(Δ)) / (2a), parte imaginaria 0
68 x2 = (-b - sqrt(Δ)) / (2a), parte imaginaria 0
69
70 Para Δ < 0:
71 parte real: (-b)/(2a)
72 parte imag: ± sqrt(-Δ)/(2a)
73 */
74 x1r = (-b + (r >= 0 ? sqrt(r) : 0)) / (2*a);
75 x1i = (r >= 0 ? 0 : sqrt(-r) / (2*a));
76
77 x2r = (-b - (r >= 0 ? sqrt(r) : 0)) / (2*a);
78 x2i = (r >= 0 ? 0 : -x1i); /* conjugada */
79
80 printf("x1 = %.4f%+.4fi\n", x1r, x1i);
81 printf("x2 = %.4f%+.4fi\n", x2r, x2i);
82
83 return 0;
84}
int main(void)
Definition Ejemplo_035.c:15