C++ 将Algo转换为C++; 最大值(整数n,点P[1…n]) 1对于i
来说,两段代码之间的主要区别在于第一段代码有一个point类,第二段代码没有 你可以自己写一个C++ 将Algo转换为C++; 最大值(整数n,点P[1…n]) 1对于i,c++,algorithm,multidimensional-array,C++,Algorithm,Multidimensional Array,来说,两段代码之间的主要区别在于第一段代码有一个point类,第二段代码没有 你可以自己写一个 struct Point { int x; int y; } (是的,这是一个结构,不是一个类,但让我们尽可能简单) 然后,您可以使用数组存储点,就像以前一样: Point array[] = { {12, 12},{14, 10},{15, 7},{7, 7},{11, 5},{13, 3},{5, 1},{7, 13},{4,11},{9,10},{2,5},{4,4} }
struct Point {
int x;
int y;
}
(是的,这是一个结构,不是一个类,但让我们尽可能简单)
然后,您可以使用数组存储点,就像以前一样:
Point array[] = { {12, 12},{14, 10},{15, 7},{7, 7},{11, 5},{13, 3},{5, 1},{7, 13},{4,11},{9,10},{2,5},{4,4} };
然后可以使用与原始循环中几乎相同的循环:
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(i != j && P[i].x <= P[j].x && P[i].y <= P[j].y)
{
...
}
}
}
for(int i=0;i 如果(i!=j&&P[i].xarray[i]
是int*
,而不是int,因为array
是二维数组。所以array[i]我该怎么做兄弟,你能用修正错误来写这段代码吗谢谢你,先生,在良好的编程实践中写这段代码。你知道吗,break
在do
/时退出/吗?从算法上来说,我相信它应该退出for
循环(在do
/时退出)。然后,时退出(maxim=true)
(>assignment!)更好:while(maxim)
。再看一次算法:maximal
被分配到最外层的循环中,但你在外侧执行。
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(i != j && P[i].x <= P[j].x && P[i].y <= P[j].y)
{
...
}
}
}