当前位置:  开发笔记 > 编程语言 > 正文

使用函数计算c#中数组之间的欧几里得距离

如何解决《使用函数计算c#中数组之间的欧几里得距离》经验,为你挑选了2个好方法。

我想计算用户输入的点之间的欧式距离,因此您可以在这里看到:

static void Main(string[] args)
{
    int numtest = int.Parse(Console.ReadLine());
    int[,] points=new int[10,2];
    for (int i = 0; i < numtest; i++)
    {
        Console.WriteLine("point " +(i+1).ToString()+" x: ");
        points[i, 0] = int.Parse(Console.ReadLine());
        Console.WriteLine("point " + (i + 1).ToString() + " y: ");
        points[i, 1] = int.Parse(Console.ReadLine());
    }
}

public float[] calculate(int[,] points)
{
    for (int i = 0; i 

C#中有任何功能可以做到这一点吗?

我需要数组中所有点之间的每个距离值



1> SimpleVar..:

以下是实现两个给定点之间的距离计算的方法,以帮助您入门:

int x0 = 0;
int y0 = 0;

int x1 = 100;
int y1 = 100;

int dX = x1 - x0;
int dY = y1 - y0;
double distance = Math.Sqrt(dX * dX + dY * dY);



2> tchelidze..:

尝试跟随

public void calculate(double[,] points)
{
    var distanceArray = new double[points.Length, points.Length];

    for (int i = 0; i < points.Length; i++)
        for (int j = 0; j < points.Length; j++)
            distanceArray[i, j] = Distance(points[i, 0], points[i, 1], points[j, 0], points[j, 1]);
}

public static double Distance(double x1, double y1, double x2, double y2)
=>  Math.Sqrt(((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)));    

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有