C++ 将Algo转换为C++; 最大值(整数n,点P[1…n]) 1对于i

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} }

来说,两段代码之间的主要区别在于第一段代码有一个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} };
然后可以使用与原始循环中几乎相同的循环:

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].x
array[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) 
        {
        ...
        }
    }
}