Dev - C++ - Por que me arroja como resultado -1 #J? psdt: quiero realizar la formula general

 
Vista:

Por que me arroja como resultado -1 #J? psdt: quiero realizar la formula general

Publicado por pedro (1 intervención) el 26/03/2019 06:08:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<stdio.h>
#include<math.h>
 
int main()
{
	float a,b,c,x1,x2;
 
	printf("Capture el valor de a: ");
	scanf("%f", &a);
 
	printf("Capture el valor de b: ");
	scanf("%f", &b);
 
	printf("Capture el valor de c: ");
	scanf("%f", &c);
 
	x1= -b+sqrt(pow(b,2)-4*a*c)/(2*a);
	x2= -b-sqrt(pow(b,2)-4*a*c)/(2*a);
 
	printf("\n\nEl valor de x1 es %f", x1);
	printf("\n\nEl valor de x2 es %f", x2);
 
	return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Por que me arroja como resultado -1 #J? psdt: quiero realizar la formula general

Publicado por Alfil (1444 intervenciones) el 26/03/2019 09:16:14
En la ecuaciones de segundo grado cuando a es menor de 0, se debe multiplicar toda la ecuación por -1

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
#include <stdio.h>
#include <math.h>
 
int main()
{
    float a, b, c, x1, x2;
 
    printf( "Capture el valor de a: " );
    scanf( "%f", &a);
 
    printf( "Capture el valor de b: "   );
    scanf( "%f", &b );
 
    printf( "Capture el valor de c: " );
    scanf( "%f", &c );
 
    if( a < 0 ){
        a *= -1; b *= -1; c *= -1;
    }
 
    x1 = (( -b + (sqrt( b * b - 4 * a * c ))) / (2 * a) );
    x2 = (( -b - (sqrt( b * b - 4 * a * c ))) / (2 * a) );
 
    printf( "\n\nEl valor de x1 es %.2f", x1 );
    printf( "\n\nEl valor de x2 es %.2f", x2 );
    printf( "\n");
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar