C++ 查找最大值并删除二维数组中的该行。C++;

C++ 查找最大值并删除二维数组中的该行。C++;,c++,multidimensional-array,C++,Multidimensional Array,我需要处理两个随机二维数组。例如,一个是5x10。我可以在矩阵中找到最大值,但我不知道如何删除该行,最大值在哪里 int max_ind(int masivs[x][y], int a, int b, int row[y], int rinda) { max=masivs[0][0]; for(i=0;i<a;i++) for(j=0;j<b;j++) if (masivs[i][j]>max)

我需要处理两个随机二维数组。例如,一个是5x10。我可以在矩阵中找到最大值,但我不知道如何删除该行,最大值在哪里

int max_ind(int masivs[x][y], int a, int b, int row[y], int rinda)
{
    max=masivs[0][0];
    for(i=0;i<a;i++)
        for(j=0;j<b;j++)
            if (masivs[i][j]>max)
                max=masivs[i][j];
    printf("%7d\n",max);
}
int max_ind(int masivs[x][y],int a,int b,int row[y],int rinda)
{
max=masivs[0][0];

对于(i=0;i也保存行索引,而不仅仅是最大值,循环后删除该行

哦,如果使用例如(比如
std::vector masivs
),删除一行会简单得多



如果不能使用
std::vector
,则必须移动其余的行并将行数减少1。这可以通过循环来完成,循环将下一行移动到“max”行,下一行移动到下一行,依此类推。

是否仅限于C样式的数组?还是可以使用std::vector?更容易“删除”使用
vec.erase()
从向量中删除一行比从C样式数组中“删除”一行更重要。当您“删除一行”时,矩阵的维度是否会改变?换句话说,5x10矩阵是否会变为4x10(假设您按行逐列引用维度)“我的代码> M只是学习C,我需要做的是没有STD::向量!这就是为什么我认为我不这样做。谢谢你,Zach StarkYes,当我删除这行时,我的矩阵维数变为4x10,并且那个值为max的行已经消失了!@ SeHeLeopeC或C++。即使C++继承了C的一些语法,它们仍然是两个不同的LAN。GAGES和某个问题的解决方案可以根据语言的不同而不同。尽管学习数组和指针很有用,但是记住,一旦完成了,就可以基本上扔掉代码,因为C++比C有更好的工具,但是现在不使用<代码> < /COD>或<代码>,而,只有C++11风格。让我们玩得开心点吧!(最大复杂度O(n*m)).3,2,1,开始!