float allmin[column];
float allmax[column];
float min= std::numeric_limits<float>::max();
float max= std::numeric_limits<float>::min();
for(int y = 0; y < column; y++)
{
for(int x = 0; x < row; x++)
{
allmin[y] = std::min(matrix[x][y], min);
allmax[y] = std::max(matrix[x][y], max);
}
cout << "Mins " << allmin[y] << "\n";
}
我需要每列的最小元素。我的矩阵是250x6,它打印的是矩阵的最后一行。2D阵列的最小/最大元素
它的副本http://stackoverflow.com/questions/34210401/finding-the-maximum-value-of-every-row-in-2d-array -c – piyushj
在行循环中,您需要更新min和max,而不是allmin和allmax,因为min和max始终保持相同的最大和最小浮点值。然后,在内部循环之后,使用min和max中的值更新allmin和allmax。另外,请确保您在外部循环内部初始化最小值和最大值,以便它们不会与之前的列值相一致。 –
初始化第一个循环中的最小最大值:min = matrix [0] [y]; max = matrix [0] [y]; –