[C con Clase] ayuda

miguel mcubides en gmail.com
Jue Sep 20 04:53:40 CEST 2007


buenas noches luchito.

veamos, tu código dice:

if(a==0)
    {
      dis=b*b-4*a*c;
            if(dis>=0)

primero, decimos que a tiene que ser igual a cero para entrar a esta parte,
luego dis se iguala a b^2 y se le resta 4*a*c, pero a es igual a cero, así
que solo estás haciendo dis=b^2,

continuemos:

if(dis>=0)

debido a que dis es el cuadrado de b, esto siempre será cierto

{
       if(dis==0)//asumo que eres plenamente conciente que dis es cero solo
cuando b es cero
       {
       cout<<"escribir x=";
       x1=x2=-b/(2*a);

supongo que no es lo que esperabas, porque estás dividiendo por cero!!!,
entonces creo que el primer if no querías que fuera if (a==0) sino if (a!=0)

       cout<<x1<<x2<<endl;
       }
       else

retomemos: para llegar acá debe:
a ser igual a cero
b ser diferente de cero
c no importa

       {
       cout<<"escribir x1, x2 :";
       aux=sqrt(b*b-4*a*c);

dijimos que a es igual a cero, así que aux será igual a la raiz cuadrada de
b^2-0, es decir aux será igual a b

       x1=(-b+aux)/(2*a);
       x2=(-b-aux)/(2*a);

dos veces mas, división por cero, además b es igual a aux, asi que x1 sería
igual a cero dividido cero y x2 sería igual a -(2*b) dividido cero

       cout<<x1<<","<<x2<<endl;
       }
}

en resumen, creo que tu error está en el if que mira que a sea igual a cero,
cambiando eso creo que te servirá

sin embargo, creo que si revisaras cuáles son los valores con los que estás
probando el programa e hicieras una prueba de escritorio podrías encontrar
los problemas de tu código (claro que no es la idea, ya que no nos debemos
concentrar en encontrar los errores sino en no cometerlos pensando
previamente lo que deseamos)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070919/8b321710/attachment.html>


Más información sobre la lista de distribución Cconclase