110,501
社区成员
发帖
与我相关
我的任务
分享
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var p1 = new point { X = 10, Y = 12 };
var p2 = new point { X = 7, Y = 8 };
Console.WriteLine(distance(p1, p2));
}
static double distance(point p1, point p2) //两点之间的直线距离
{
double distan;
distan = Math.Sqrt(Math.Pow(Math.Abs(p1.X - p2.X), 2) + Math.Pow(Math.Abs(p1.Y - p2.Y), 2));
return distan;
}
}
public class point
{
private int x;
private int y;
public int X
{
get { return x; }
set { x = value; }
}
public int Y
{
get { return y; }
set { y = value; }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Distance
{
class Program
{
static double CalDis(MyPoint p1,MyPoint p2)
{
double value=System.Math.Pow(System.Math.Abs(p1.X-p2.X),2)+System.Math.Pow(System.Math.Abs(p1.Y-p2.Y),2);
double distance = System.Math.Sqrt(value);
return distance;
}
static double[,] Values(List<MyPoint> list)
{
double[,] values = new double[1,2];
for (int i = 0; i < list.Count-1; i++)
{
for (int j = 1; j < list.Count; j++)
{
Console.WriteLine("当前元素i_x={0},i_y={1};j_x={2},j_y={3};距离={4}",list.ElementAt(i).X,list.ElementAt(i).Y,list.ElementAt(j).X,list.ElementAt(j).Y, CalDis(list.ElementAt(i), list.ElementAt(j)));
if (i == 0 && j == 1)
{
values[0, 0] = CalDis(list.ElementAt(0), list.ElementAt(1));//先赋给最大初值
values[0, 1] = CalDis(list.ElementAt(0), list.ElementAt(1));//先赋个最小初值
continue;
}
if (values[0, 0] < CalDis(list.ElementAt(i), list.ElementAt(j)))
{
values[0, 0] = CalDis(list.ElementAt(i), list.ElementAt(j));
}
else
{
values[0, 1] = CalDis(list.ElementAt(i), list.ElementAt(j));
}
}
}
return values;
}
static void Main(string[] args)
{
Random random = new Random();
List<MyPoint> list = new List<MyPoint>();
for (int i = 0; i < 10; i++)
{
list.Add(new MyPoint(random.Next(10),random.Next(10)));//产生10个横纵坐标值不超过10的随机点
}
double[,] values = Values(list);
Console.WriteLine("最大值={0},最小值={1}",values[0, 0],values[0, 1]);
Console.ReadKey();
}
}
class MyPoint
{
private int _x;
private int _y;
public MyPoint(int x, int y)
{
_x = x;
_y = y;
}
public int X
{
get { return _x; }
set { _x = value; }
}
public int Y
{
get { return _y; }
set { _y = value; }
}
}
}