Задача Longer Line от Методи, Дебъг и т.н.
Здравейте колеги, моля за малко съдействие Кода по-долу. Не разбирам защо rezult като запис има изчислена стойност, която след като влезе в Метода - GetRightOrder се нулира и след това ми изчислява грешко дължината на линията между точките и съответно си взема другата линия като отговаряща на условието.
Благодаря предварително.
sing System;
namespace Longer_Line
{
class Longer_Line
{
static void Main(string[] args)
{
double x1 = double.Parse(Console.ReadLine());
double y1 = double.Parse(Console.ReadLine());
double x2 = double.Parse(Console.ReadLine());
double y2 = double.Parse(Console.ReadLine());
double x3 = double.Parse(Console.ReadLine());
double y3 = double.Parse(Console.ReadLine());
double x4 = double.Parse(Console.ReadLine());
double y4 = double.Parse(Console.ReadLine());
GetRightOrder(x1, y1, x2, y2, x3, y3, x4, y4);
}
static void GetRightOrder(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
{
double axisXY12 = 0;
double axisXY34 = 0;
double result = 0;
double resultCloseZero12 = 0;
double resultCloseZero34 = 0;
double axisXY1 = 0;
double axisXY2 = 0;
double axisXY3 = 0;
double axisXY4 = 0;
GetLenghtLine(x1, y1, x2, y2, x3, y3, x4, y4);
GetPointNearerCenterPoint(x1, y1, x2, y2, x3, y3, x4, y4);
if (result == axisXY12 )
{
if (resultCloseZero12 == axisXY2)
Console.WriteLine($"({x2}, {y2})({x1}, {y1})");
else if (resultCloseZero12 == axisXY1)
Console.WriteLine($"({x1}, {y1})({x2}, {y2})");
}
else if (result == axisXY34 )
{
if (resultCloseZero34 == axisXY4)
Console.WriteLine($"({x4}, {y4})({x3}, {y3})");
else if (resultCloseZero34 == axisXY3)
Console.WriteLine($"({x3}, {y3})({x4}, {y4})");
}
}
static void GetLenghtLine (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
{
double axisXY12 = Math.Sqrt(Math.Pow((x2 - x1), 2) + Math.Pow((y2 - y1), 2)); // се намира от формулата Корен квадратен от ..x1-0 na kwadrat + y1 - 0 na kwadrat
double axisXY34 = Math.Sqrt(Math.Pow((x4 - x3), 2) + Math.Pow((y4 - y3), 2));
double result = 0;
if (axisXY12 >= axisXY34)
{
result = axisXY12;
}
else
{
result = axisXY34;
}
}
static void GetPointNearerCenterPoint(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
{
double axisXY1 = Math.Sqrt(Math.Pow(x1, 2) + Math.Pow(y1, 2)); // хипотенузата се намира от формулата Корен квадратен от ..x1-0 na kwadrat + y1 - 0 na kwadrat
double axisXY2 = Math.Sqrt(Math.Pow((x2), 2) + Math.Pow((y2), 2));
double axisXY3 = Math.Sqrt(Math.Pow((x3), 2) + Math.Pow((y3), 2));
double axisXY4 = Math.Sqrt(Math.Pow((x4), 2) + Math.Pow((y4), 2));
double resultCloseZero12 = 0;
double resultCloseZero34 = 0;
if (axisXY1 > axisXY2)
{
resultCloseZero12 = axisXY2;
}
else
{
resultCloseZero12 = axisXY1;
}
if (axisXY3 > axisXY4)
{
resultCloseZero34 = axisXY4;
}
else
{
resultCloseZero34 = axisXY3;
}
}
}
}
Благодаря ! Не знаех за "out" пртоменливите.