【发布时间】:2020-06-04 15:24:32
【问题描述】:
我有一个二维正方形数组(正方形),每个正方形有 50 个单位长度和 x、y 坐标。正方形之间的距离为 5 个单位。 x, y 坐标是正方形的左下角。现在,给定任何点(x,y 坐标),我如何找到最接近该点的正方形。
square **sq = new square*[10];
for(int i=0;i<10;++i){
sq[i]=new square[10];
}
int m=0, n=0;
for(int i=0;i<10;++i){
m=0;
for(int j=0;j<10;++j){
sq[i][j].setCoOrdinates(m,n);
m+=55;
}
n+=55;
}
// 给定一个点 (x, y) 如何找到离该点最近的正方形的索引 (i, j)。
【问题讨论】:
-
我建议使用
std::array(因为在编译时知道大小)或std::vector(如果在运行时知道大小,或者对于堆栈来说太大)而不是new[]跨度> -
您正试图在具有特定要求的数组中查找元素,这与数组无关?顺便说一句,我认为您不需要任何容器,只需要
% -
@letsShareKnowlede 我的评论不是关于如何解决您的问题,否则我会将其发布为答案,而不是评论。我的评论是关于良好的 C++ 编程实践。
-
我仍然没有得到你必须解决的真正任务。如果是算法和研究一组随机正方形的问题,那就是问题,否则,如果是数字游戏,听起来像“I = (x+3)/55”和“j = (y+3) /55" 就是你要找的...
标签: c++ arrays algorithm oop pointers