#include<iostream>
#include<cmath>
using namespace std;
class line
{
int m;
int c;
public:
line(){m=0,c=0;};
line(int x,int y);
void perpendicular(int a, int b);
float perpendicularDistance(line A);
void intersectionPoint(int p,int q);
};
line::line(int x,int y)
{
m=x;
c=y;
cout<< "y= "<<m<<"x+"<<c<<endl;
}
void line::perpendicular(int a, int b)
{
float m1=-(1/a); //m1=slope of the perpendicular line
float k=(m*b)+a; //k=constant of the perpendicular line
cout<<"y= "<<m1<<"x+"<<k<<endl;
}
float line::perpendicularDistance(line A)
{
int a,b;
cin>>a;
cin>>b;
float X=(m*a);
float Y=b;
float distance=(-X+Y-c)/(sqrt(m*m+1*1));
return abs(distance);
}
void line::intersectionPoint(int p,int q)
{
int x1,y1;
x1=(-q+c)/(-m+p);
y1=((c*p)-(q*m))/(-c+p);
cout<< "("<<x1<< ","<<y1<< ")\n";
}
int main()
{
int x,y;
cout<< "enter value of m & c\n";
cin>>x;
cin>>y;
cout<< "Equation: ";
line A(x,y);
cout << endl<< "For Perpendicular Distance enter (x,y)"<<endl;
cout<<"Distance= "<<A.perpendicularDistance(A)<<" Units"<<endl;
int a,b;
cout<< endl<<"For Perpendicular Equation enter (a,b)"<<endl;
cin>>a;
cin>>b;
cout<< "Perpendicular Equation: ";
A.perpendicular(a,b);
cout<< "\nFor Intersection Point enter another lines m & c"<<endl;
int p,q;
cin>>p;
cin>>q;
cout<< "Equation: ";
line B(p,q);
cout<< "Intersection Point is: ";
A.intersectionPoint(p,q);
return 0;
}