21xrx.com
2025-04-27 15:40:17 Sunday
文章检索 我的文章 写文章
C++实现曼哈顿距离
2023-06-29 08:16:18 深夜i     34     0
C++ 曼哈顿距离 实现

曼哈顿距离是计算两个点在网格状空间中的距离,即它们在横轴和纵轴上的距离之和。在C++中,我们可以使用以下代码实现曼哈顿距离的计算。

#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
int ManhattanDistance(int x1, int y1, int x2, int y2) {
  return abs(x1 - x2) + abs(y1 - y2);
}
int main() {
  int x1, y1, x2, y2;
  cout << "请输入两个点的x,y坐标:" << endl;
  cin >> x1 >> y1 >> x2 >> y2;
  cout << "这两个点的曼哈顿距离是:" << ManhattanDistance(x1, y1, x2, y2) << endl;
  return 0;
}

在这个程序中,我们首先定义了一个ManhattanDistance函数,该函数接收4个整数参数x1,y1,x2和y2,分别代表两个点的横坐标和纵坐标。函数实现直接计算两个点的曼哈顿距离并返回该距离的值。

在main函数中,我们通过cin输入四个整数,即两个点的横坐标和纵坐标,并将其传递给ManhattanDistance函数进行计算。最后,我们使用cout输出计算结果。

C++是一种非常强大的编程语言,提供了许多内置函数和数据类型,可以用来实现各种算法和计算方式。对于曼哈顿距离的计算,C++提供了abs函数,该函数可以计算两个整数之差的绝对值。因此,我们可以很容易地实现曼哈顿距离的计算,从而方便地进行网格状空间中的距离计算。

  
  

评论区