gpt4 book ai didi

c++ - 二维数组的最小/最大元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:56:01 24 4
gpt4 key购买 nike

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 ,它打印的是矩阵的最后一行。

最佳答案

你需要两个更正:

不要对每一列使用相同的变量,而是使用不同的变量,例如直接使用 allminallmax 行。

在进入循环之前初始化它。一个经典的解决方案是用行的第一个元素对其进行初始化,然后检查循环中的每个下一个元素。

for(int y = 0; y < column; y++)
{
allmin[y] = matrix[0][y];
allmax[y] = matrix[0][y];
for(int x = 1; x < row; x++)
{
allmin[y] = std::min(matrix[x][y], allmin[y]);
allmax[y] = std::max(matrix[x][y], allmax[y]);
}

cout << "Mins " << allmin[y] << "\n";
}

关于c++ - 二维数组的最小/最大元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36759559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com