C编程-计算两个不同点之间的最大距离



首先,我写下面的代码:

int X, Y;
for (i=0; i<N; i++)
{
    printf("Enter X and Y: ");
    scanf("%d %d", &X, &Y);
}
int A[X][Y];
for (int i=0;i<X;i++){
    for (int j=0;j<Y;j++){
        printf("A[i][j]:");
        scanf("%d", &A[i][j]);
    }
}

但是,我的计算有问题,我无法改进它。

你似乎在寻找点之间最远的邻居。编写一个蛮力解是微不足道的,只是比较每个可能的点对之间的距离。根据链接,存在更好的解决方案。

编辑:两点之间的距离

double distance(double x1,double y1,double x2, double y2)
{
  return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
}

以下是一些建议:

  • 每个点需要不止一个变量,所以你必须使用_ _ _ _ _ _(在这里写下你的答案)
  • 两点之间的距离可以通过勾股定理计算
  • 你必须比较每个点的距离和其他点的距离

最新更新