Создать класс "прямая", поля класса - координаты двух точек (x1,y1) и (x2,y2) - C#
Формулировка задачи:
Помогите, пожалуйста!Завтра экзамен, а эта задача допуск к нему!
Создать класс "прямая", поля класса - координаты двух точек (x1,y1) и (x2,y2). Методы класса: вывод уравнения прямой вида y=ax+b. В классе предусмотреть методы перегрузки операций: проверка параллельности двух прямых, определение угла между двумя прямыми.
Понял, что в самом начале нужно найти коэффициенты этих уравнений a1 и a2. Находятся они так: a=(y2-y1)/(x2-x1)
Затем нужно проверить их на параллельность, т. е. если коэффициенты a1 и a2 равны, то прямые параллельны. Угол тоже находится через эти же коэф.
Но как это все собрать я не знаю.....
Вот все,что у меня есть, но "это" столько раз переделывалось, что вряд ли там есть что то стоящее:
Помогите, пожалуйста!!!
class pryamaya
{
int x;
int y;
int z;
int p;
double a1;
double a2;
double tga;
public pryamaya (int x, int y)
{
this.x = x;
this.y = y;
}
public int X
{
get { return x; }
set { x = value; }
}
public int Y
{
get { return y; }
set { y = value; }
}
public int Z
{
get { return z; }
set { z = value; }
}
public int P
{
get { return p; }
set { p = value; }
}
public double a1()
{
return ;
}
//Вывод уравнения 1й прямой
public string output1()
{
return "y=" + a1 + "x" + "b";
}
//вывод уравнения 2й прямой
public string output2()
{
return "y=" + a2 + "x" + "b";
}
//проверка на параллельность
public static bool operator /()
{
if a1==a2
return true;
else
return false;
}
//нахождение угла
public double Tga()
{
return tga = (a2-a1)/(1+a2*a1);
}
}
и...
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите x для 1й точки первой прямой:");
int x1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите y для 1й точки первой прямой:");
int y1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите x для 2й точки первой прямой:");
int x2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите y для 2й точки первой прямой:");
int y2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите x для 1й точки второй прямой:");
int z1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите y для 1й точки второй прямой:");
int p1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите x для 2й точки второй прямой:");
int z2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Введите y для 2й точки второй прямой:");
int p2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine();
}
}Решение задачи: «Создать класс "прямая", поля класса - координаты двух точек (x1,y1) и (x2,y2)»
textual
Листинг программы
public static double operator-(Line left, Line right)
{
return Math.Abs(left.K-right.K);
}