C++中二维曼哈顿距离的计算方法
创作时间:
作者:
@小白创作中心
C++中二维曼哈顿距离的计算方法
引用
CSDN
1.
https://blog.csdn.net/Yinrtyu_/article/details/145971326
二维曼哈顿距离的用法
曼哈顿距离,又称为城市街区距离,用于计算两个点在标准坐标系上的绝对轴距总和。其公式为:
二维曼哈顿距离 = |x1 - x2| + |y1 - y2|
曼哈顿距离常用于网格状布局的路径计算、图像处理等领域。
图片示例
描述一个常见的曼哈顿距离应用场景:
想象一个城市的街道布局,街道呈网格状,你只能沿着水平或垂直的街道行走。从一点A到另一点B的最短路径长度,就是这两点之间的曼哈顿距离。
想象一下棋盘上的格子:
曼哈顿距离,也正是这个原理,不能像绿线(/)一样,横穿建筑,而是需要和其它三条线一样,穿过大街小巷。
代码示例
以下是一个使用C++计算两个点之间曼哈顿距离的代码示例:
#include <iostream>
#include <cmath> // abs()
int main() {
int x1, y1, x2, y2;
std::cout << "请输入两个点的坐标 (x1, y1) 和 (x2, y2): ";
std::cin >> x1 >> y1 >> x2 >> y2;
int manhattanDistance = std::abs(x1 - x2) + std::abs(y1 - y2);
std::cout << "两点之间的曼哈顿距离是: " << manhattanDistance << std::endl;
return 0;
}
详细说明
- 输入部分:
- 程序首先提示用户输入两个点的坐标 (x1, y1) 和 (x2, y2)。
- 使用 std::cin 从标准输入读取这四个整数。
- 计算部分:
- 使用 std::abs() 函数计算两个点之间横坐标和纵坐标的差的绝对值。
- 将这两个绝对值相加,得到曼哈顿距离。
- 输出部分:
- 使用 std::cout 输出计算得到的曼哈顿距离。
注意事项
- 在实际编程中,确保输入的数据在有效范围内,以避免潜在的越界或错误计算。
- 曼哈顿距离的计算相对简单,但它在路径规划、图像处理等领域有着广泛的应用。
热门推荐
五德说下的仿古玉佩设计美学
塑造企业文化丨低信任带来的损失和高信任创造的收益,你真的清楚吗?
《王者荣耀》卢雅那出装铭文搭配建议
7-8月去青海注意事项,准备哪些物品,实用攻略
沪上演《骆驼祥子》,方旭用全男班诠释经典
王者荣耀T0英雄榜:后羿领衔,典韦瑶受宠
<骆驼祥子>:一个车夫的沉沦史
老舍<骆驼祥子>:个人奋斗难敌社会不公
澳门美食吃一遍,仿佛逛了半个地球
龙里县十大旅游景点
柬埔寨演出推荐:吴哥的微笑等民族歌舞表演、节日活动全攻略
【2025柬埔寨吳哥窟】Top6日出、日落拍攝景點,最佳角度攻略
香港九龙弥敦道:连接旺角与尖沙咀的繁华纽带
香港Citywalk路线大揭秘!一天之内,带你穿越古今风情
三年定期存款怎么存最划算?四大要点助你收益最大化
潼关怀古:历史长河中的古都印记
从渭南到新疆自驾游全攻略:精选路线、必备知识与注意事项
瓷盆里的红双喜,见证爷爷奶奶的爱情
26项医保政务服务可“掌上办”“网上办”
曹操为何有这么多负面评价,曹操表示:罗贯中干的好事
关羽忠心不渝:揭秘历史真相,投降曹操背后的忠诚与抉择
不知如何跟孩子谈“生死”?这些电影可以帮到你
【班夫国家公园】10大超人气徒步路线攻略!绝美山景令人惊叹!
440种鲨鱼大揭秘:从双髻鲨到巨齿鲨的海洋传奇
虎鲨袭击马尔代夫潜水员,专家详解7大观鲨安全准则
汽车空调异味清除指南:滤芯更换与管道清洁双管齐下
三星电视色彩失真修复指南:从硬件检查到专业维修
2025年职场规划秘籍:向阳生涯教你如何逆袭
职业技能培训:让你职场C位出道的金钥匙
把握南非冬季商机:保暖服饰与电子产品配件热销