我需要使用两个随机二维数组。例如一个是 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);
}
有什么想法吗?
最佳答案
也保存行索引,而不仅仅是最大值,并在循环后删除该行。
哦,如果您使用例如,删除一行会简单得多 std::vector
(如 std::vector<std::vector<int>> masivs
)。
如果你不能使用std::vector
,那么您必须移动剩余的行并将行数减一。这可以通过一个循环来完成,该循环将下一行移动到“最大”行,将下一行移动到下一行,依此类推。
关于c++ - 查找最大值并删除二维数组中的该行。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742509/