No te da un numero irracional, cuando aparece el error, por ejemplo tu colocaste a:3 b:6 y c:5 Es porque la raiz no existe, es decir no puede sacar la raiz de un numero negativo, y aparte te falto colocar las condiciones if(a!=0) porque recuerda que para que se cumpla una ecuacion de segundo grado el termino de a debe ser diferente de cero, si es igual a cero entonces tendra una solucion.. Ten cuidado con eso, no es el error, tienes que saberte muy bien las condiciones de una ecuacion de segundo grado
No.. No estamos hablando de un número irracional.. debes recordar que si dentro del la raíz tengo un valor negativo obtengo un imaginario, debes saber condicionar eso.. cuando dentro de la raíz tengo un valor mayor a cero y falso cuando tengo un valor menos que cero.
muy bien explicado amigo...pero creo k deberias preveer resultados para cada caso...supongamos que a=0, b=0 c= 0 o uno de las variables--- //discutir toda la ecuacion para un programa más completo//gracias
Les comparto mi código, si hay algún error me gustaría que me lo hagan saber, gracias Pdt: La extensión en .c #include #include double resultadosPosibles(double x, double y, double z, double *x1, double *x2, double *discriminante); int main () { double a=0,b=0,c=0,x1=0,x2=0,discriminante=0; printf("Por favor genere el coeficiente a "); scanf("%lf",&a); printf("Por favor genere el coeficiente b "); scanf("%lf",&b); printf("Por favor genere el coeficiente c "); scanf("%lf",&c); resultadosPosibles(a,b,c,&x1,&x2,&discriminante); if(discriminante < 0) { printf("Este programa no maneja numeros complejos, el discriminante es menor a 0 discriminante = %lf",discriminante); }else if(a != 0) { printf("Los posibles valores de la ecuacion son: "); printf("x1 = %.2lf ",x1); printf("x2 = %.2lf ",x2); }else printf("Usted genero a igual a 0, matematicamente es imposible trabajar divisiones entre cero, incluso el campo de los numeros complejos no contiene este tipo de operacion, busque las propiedades de los limites "); return 0; } double resultadosPosibles(double x, double y, double z, double *x1, double *x2, double *discriminante) { *x1 = (-y + sqrt(y*y-4*x*z))/(2*x); *x2 = (-y - sqrt(y*y-4*x*z))/(2*x); *discriminante = pow(y,2)-4*x*z; }
No te da un numero irracional, cuando aparece el error, por ejemplo tu colocaste a:3 b:6 y c:5
Es porque la raiz no existe, es decir no puede sacar la raiz de un numero negativo, y aparte te falto colocar las condiciones if(a!=0) porque recuerda que para que se cumpla una ecuacion de segundo grado el termino de a debe ser diferente de cero, si es igual a cero entonces tendra una solucion..
Ten cuidado con eso, no es el error, tienes que saberte muy bien las condiciones de una ecuacion de segundo grado
vato eres la mera printf("papaya gracias"); me salvaste
No.. No estamos hablando de un número irracional.. debes recordar que si dentro del la raíz tengo un valor negativo obtengo un imaginario, debes saber condicionar eso.. cuando dentro de la raíz tengo un valor mayor a cero y falso cuando tengo un valor menos que cero.
muy bien explicado amigo...pero creo k deberias preveer resultados para cada caso...supongamos que a=0, b=0 c= 0 o uno de las variables--- //discutir toda la ecuacion para un programa más completo//gracias
Explicas super bien *-* Gracias!
Genial amigo , eres el de lo mejor (y)
Me has salvado enserio gracias
gracias amigo por explicar cada paso me sirvio mucho
Les comparto mi código, si hay algún error me gustaría que me lo hagan saber, gracias
Pdt: La extensión en .c
#include
#include
double resultadosPosibles(double x, double y, double z, double *x1, double *x2, double *discriminante);
int main ()
{
double a=0,b=0,c=0,x1=0,x2=0,discriminante=0;
printf("Por favor genere el coeficiente a
");
scanf("%lf",&a);
printf("Por favor genere el coeficiente b
");
scanf("%lf",&b);
printf("Por favor genere el coeficiente c
");
scanf("%lf",&c);
resultadosPosibles(a,b,c,&x1,&x2,&discriminante);
if(discriminante < 0)
{
printf("Este programa no maneja numeros complejos, el discriminante es menor a 0
discriminante = %lf",discriminante);
}else
if(a != 0)
{
printf("Los posibles valores de la ecuacion son:
");
printf("x1 = %.2lf
",x1);
printf("x2 = %.2lf
",x2);
}else
printf("Usted genero a igual a 0, matematicamente es imposible trabajar divisiones entre cero, incluso el campo de los numeros complejos no contiene este tipo de operacion, busque las propiedades de los limites
");
return 0;
}
double resultadosPosibles(double x, double y, double z, double *x1, double *x2, double *discriminante)
{
*x1 = (-y + sqrt(y*y-4*x*z))/(2*x);
*x2 = (-y - sqrt(y*y-4*x*z))/(2*x);
*discriminante = pow(y,2)-4*x*z;
}
me sirvio mucho hermano, gracias
Gracias men te mereses el like
Gracias, me sirvió de ayuda.
Mil gracias!
que es una variable puntero?
Muy buenos vídeos amigo :D
Me salió error en void que puedo hacer ahí? 🥺
Ignacio Rojas
como corres el codigo?
Me acabo de dar cuenta de que este es el programa que mi maestro nos dejó en clase xd
como hago para que dos números me satisfagan x^3-22x=9x^2?
en lazarus se puedo para ecuaciones
esta bien y si te dicen hacer un programa q dado una ecuacion depejar la variable
como se colocaria la condición, que "a" sea diferente de cero
joselis palma do{
Printf("Ingrese a: ");
}
While (a==0);
ehhhh esa cosa esta mal
Que programa esta usando.?
visual studio
@@IgnacioR funciona visual studio c# expres
algun buen hombrer que tenga el codigo??
mas bien seria numero imaginario