SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: jubilubi en Viernes 31 de Octubre de 2003, 00:47

Título: Re: operaciones para encontrar el valor de una variable
Publicado por: jubilubi en Viernes 31 de Octubre de 2003, 00:47
signo_b=-1;
scanf("%e,%e,%e,%e",&a,&b,&c);
x1=((-b)+res_raiz)/(2*a);
x2=((-b)-res_raiz)/(2*a);
x3=signo_b*(-1*((abs(b)+(res_raiz))/(2*a)));
x4=c/(a*x3);

printf("%e,%e,%e,%e",x1,x2,x3,x4);
getch();

no me realiza todas las operaciones y se sale del programa sin imprimir algo en pantalla.
¿por que?
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: Super_G en Viernes 31 de Octubre de 2003, 02:50
de que tipos son x1,x2,x3,x4??????????
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: jubilubi en Viernes 31 de Octubre de 2003, 16:46
long double.
el programa se ejecuta hasta la primera operacion (x1) y a partir de ahi se sale (presionando f7 me doy cuenta de esto). Utilizo el compilador de Turbo C++ 3.0 IDE.
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: jubilubi en Lunes 3 de Noviembre de 2003, 03:01
¿tendra algo que ver las operaciones que se realizan?

si a x1, x2, x3 y x4 le asigno operaciones como estas:

x1=4+(5*2);
x2=x1+5;
x3=x2+3;
x4=x3+10;

entonces si las realiza y me imprime los resultados.
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: Super_G en Lunes 3 de Noviembre de 2003, 04:02
de que tipo son :
signo_1
a
b
c
son enteros?
"res_raiz" es long double?
bueno para despejar todas esa dudas no se si podrias poner el codigo completo???
estoy tratando de reconstruirlo para ver si a mi me produce el error.

Y por el momento me sale este ERROR:

scanf : floating point formats no linked
abnormal program termined

y no se por que sera.
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: Super_G en Lunes 3 de Noviembre de 2003, 16:33
al parecer ese error es por:

scanf("%e,%e,%e,%e",&a,&b,&c);

y deberia ser:

scanf("%e","%e","%e","%e",&a,&b,&c);

asi no da error.
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: jubilubi en Martes 4 de Noviembre de 2003, 02:41
Este es el codigo de mi programa:

void ecuaciones_cuadraticas()
{
   //declaracion de variables
   char letra;
   int salir;
   int signo_b=1; //signo de b
   long double a,b,c; //datos de la ecuacion: axý-bx+c=0          alt+253=ý
   long double raiz_neg=0; //bandera (si el resultado de la raiz es negativo)
   long double res_raiz; //resultado de la raiz
   long double x1,x2,x3,x4; //incognitas a encontrar
   long double raiz_cuad; //bý-4ac

   printf("Resolucion de ecuaciones cuadraticas de la forma axý + bx + c = 0");
   printf("nintroduzca el valor de a: ");
   scanf("%e",&a);
   printf("nintroduzca el valor de b: ");
   scanf("%e",&b);
   printf("nintroduzca el valor de c: ");
   scanf("%e",&c);
   if (b<0) //si b<0...
   {
      signo_b=-1; //...entonces en el signo de b es negativo
   }
   raiz_cuad=(b*b)-(4*(a*c));
   if (raiz_cuad<0) //si el resultado de bý-4ac es < 0...
   {
      raiz_cuad=abs(raiz_cuad); //valor absoluto de (b*b)-4ac
      signo_b=1; //...entonces bandera = 1 "bý-4ac es negativo"
   }
   res_raiz=sqrt(raiz_cuad);
   x1=((-b)+res_raiz)/(2*a);
   x2=((-b)-res_raiz)/(2*a);
   x3=signo_b*(-1*((abs(b)+(res_raiz))/(2*a)));
   x4=c/(a*x3);
   printf("nx1 = %e",x1);
   printf("nx2 = %e",x2);
   printf("nx3 = %e",x3);
   printf("nx4 = %e",x4);
   if (raiz_neg==1) //si bandera = 1
   {
      printf("nNOTA: el resultado de la raiz es negativo");
   }
}
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: Super_G en Miércoles 5 de Noviembre de 2003, 06:05
al moento de leer a,b o c no hace una buena lectura?, pero depues trabaja bien
Título: Re: operaciones para encontrar el valor de una variable
Publicado por: jubilubi en Miércoles 5 de Noviembre de 2003, 21:32
No. Lee bien las variables. El problema es al realizar las operaciones para x1, x2, x3 y x4. Solamente realiza la operacion para x1 y se sale del programa.
Título: operaciones para encontrar el valor de una variable
Publicado por: Super_G en Miércoles 5 de Noviembre de 2003, 23:23
Estoy trabajando en Borlandc++ 3.11
al ingrsar valores sencillos como a=1, b=4,c=4; para verificar primero si funciona bien con valores pequeños note que arrojaba valores muy extraños(pero corria todo), despues hice correr paso paso y sucedia que no lee bien a,b y c, no se por que sucede esto pero siempre hace bien el programa osea lo corre y no se salta ni se sale hasta terminar,dime que valores asignas a : a=?,b=? y c=?