Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - chucho11028

#1
Saludos
Gracias por el apoyo pero si x1==x2 la pendiente no es posible ya que no puede dividir por 0.
Por otro lado la formula  m << "x + (" << -m*x1+y1 <<")" tiene el mismo problema que la mia ya que si y1 es negativo pasa como negativo al lado derecho debido a que multiplica el signo (y-(-y1)) pero en tu formula se mantiene como positivo segun -m*x1+y1.
Me puedes ayudar con esto? agradecido
#2
este es el codigo completo pero no funciona si x1 es negativo, me da cualquier error. Donde me estoy equivocando
#include <iostream>

using namespace std;


int main()
{


   double x1,x2,y1,y2,m;
    double p, q;

   cout << "Ingrese coordenada en x1 : ";
   cin >> x1;

   cout << "Ingrese coordenada en x2 :";
   cin >> x2;

   cout << "Ingrese coordenada en y1 :";
   cin >> y1;

   cout << "Ingrese coordenada en y2 :";
   cin >> y2;

       
   

   if ( x1==x2)
   {

      cout << "No existe ecuacion ";

   }

   else
   {
         
          m=(y2-y1)/(x2-x1);
         
         
                     //comparo si x1 es mayor que 0 o positivo para manejar el cambio de signo x2-x1 al multiplicar signos
           if (x1>0)
        {
                 
         // si es positivo al multiplicarse en (x2-x1) cambiara a negativo y lo almaceno en nueva variable p
                 p=x1*(-1);
                 }
                 
                 if (x1<0)
                 {

                // si es negativo al multiplicarse en (x2-(-x1)) cambiara a positivo y lo almaceno en nueva variable p
                     p=x1;
                     }
                     
                     
                     if (y1>0)
                     {
            
              // si es positivo, no lo afecta el sigono de (y2-y1) y al pasar a la derecha de (y2-y1) cambiara a positivo y lo almaceno en nueva variable q
                     q=y1;
                 }
                 
                 else
                 {
                    // si es negativo, su signo cambia a positivo en (y2-(-y1)) al pasar a la derecha de (y2-y1) cambiara a negativo y lo almaceno en nueva variable q
                 q=y1*(-1);
                     }
     
       
       
         
      cout << "La ecuacion de la recta es y = " <<
         m << "x + " << ((m)*p)+q << endl;

      cin.get();
   }
    cin.get();
   return 0;
}
#3
Programación C/C++ / Ecuacion de la recta en c++
24 Febrero 2013, 20:18 PM
Saludos
Hice un programa en C++ para calcular la ecuacion de la recta y mi vision del
programa fue solicitar los cuatro valores de x1,x2,y1, y2 para calcular la
pendiente y segun la formula y2=m*x2 + b obtener el resultado.
Claro me di cuenta al principio que si usaba esta formula:
cout << "La ecuacion de la recta es y = " <<
m << "x + "<< (m*(-x1)+y1) << endl;

La ecuacion nunca iba a entender el cambio de signo si y1 era positivo o
negativo segun la formula (y2-y1)=m*(x2-x1) al tener que despejar para obtener
y2=m*(x2 - x1) + y1. Luego utilice esta logica

else
{

m=(y2-y1)/(x2-x1);

//comparo si x1 es mayor que 0 o positivo para manejar el
cambio de signo x2-x1 al multiplicar signos
if (x1>0)
{

// si es positivo al multiplicarse en (x2-x1) cambiara a negativo y lo
almaceno en nueva variable p
p=x1*(-1);
}

if (x1<0)
{

// si es negativo al multiplicarse en (x2-(-x1)) cambiara a positivo y lo
almaceno en nueva variable p
p=x1;
}


if (y1>0)
{

// si es positivo, no lo afecta el sigono de (y2-y1) y al pasar a la
derecha de (y2-y1) cambiara a positivo y lo almaceno en nueva variable q
q=y1;
}

else
{
// si es negativo, su signo cambia a positivo en (y2-(-y1)) al
pasar a la derecha de (y2-y1) cambiara a negativo y lo almaceno en nueva
variable q
q=y1*(-1);
}

cout << "La ecuacion de la recta es y = " <<
m << "x + " << ((m)*p)+q << endl;


Pero cuando y1 es igual a un numero negativo el componente b de la ecuacion
y2=m*x2 + b no me da el resultado correcto. Donde estoy cometiendo el error??
Agradezco cualquier ayuda

El programa completo es:
#include <iostream>

using namespace std;


int main()
{


double x1,x2,y1,y2,m;
double p, q;

cout << "Ingrese coordenada en x1 : ";
cin >> x1;

cout << "Ingrese coordenada en x2 :";
cin >> x2;

cout << "Ingrese coordenada en y1 :";
cin >> y1;

cout << "Ingrese coordenada en y2 :";
cin >> y2;




if ( x1==x2)
{

cout << "No existe ecuacion ";

}

else
{

m=(y2-y1)/(x2-x1);


//comparo si x1 es mayor que 0 o positivo para manejar el
cambio de signo x2-x1 al multiplicar signos
if (x1>0)
{

// si es positivo al multiplicarse en (x2-x1) cambiara a negativo y lo
almaceno en nueva variable p
p=x1*(-1);
}

if (x1<0)
{

// si es negativo al multiplicarse en (x2-(-x1)) cambiara a positivo y lo
almaceno en nueva variable p
p=x1;
}


if (y1>0)
{

// si es positivo, no lo afecta el sigono de (y2-y1) y al pasar a la
derecha de (y2-y1) cambiara a positivo y lo almaceno en nueva variable q
q=y1;
}

else
{
// si es negativo, su signo cambia a positivo en (y2-(-y1)) al
pasar a la derecha de (y2-y1) cambiara a negativo y lo almaceno en nueva
variable q
q=y1*(-1);
}




cout << "La ecuacion de la recta es y = " <<
m << "x + " << ((m)*p)+q << endl;

cin.get();
}
cin.get();
return 0;
}


Agradeceria cualquier ayuda para ver donde esta mi error