最大值和最小值?
问题描述:
我已经做了一个矩阵使用向量和迭代器,我怎么能找到它的最大值和最小值。它是这样的:最大值和最小值?
vector<int> > matrixes(10);
typedef std::vector<std::vector<int> >::iterator it;
it rows = matrixes.begin();
if (rows->size() == 10)
++rows;
rows->push_back(res);
}
for(size_t q=0; q < matrixes.size(); ++q)
{
for(size_t r=0; q < matrixes[q].size(); ++r)
cout << matrixes[q][r] << " ";
cout << endl;
}
我想通过它找到最大值和最小值,它怎么可能?
答
只需添加两个变量来保存最大值和最小值。 更新显示它的部分。
vector<int> > matrixes(10);
typedef std::vector<std::vector<int> >::iterator it;
it rows = matrixes.begin();
int maxVal,minVal;
if (matrixes.size() > 0 && matrixes[0].size() > 0)
maxVal = minVal = matrixes[0][0];
for(size_t q=0; q < matrixes.size(); ++q)
{
for(size_t r=0; q < matrixes[q].size(); ++r)
{
cout << matrixes[q][r] << " ";
cout << endl;
// update min, max here
maxVal= maxVal<matrixes[q][r]?matrixes[q][r]:maxVal;
minVal= minVal>matrixes[q][r]?matrixes[q][r]:minVal;
}
}
答
std::sort(matrixes.begin(), matrixes.end());
矢量中的第一个元素最少,最后一个元素最大。
答
如果你有一个std :: vector的,你可以做
std::vector<int> my_vector;
//Populate vector
int max = std::max_element(my_vector.begin(), my_vector.end());
正在做作业吗? – 2011-02-09 12:12:18
昨天我们没有看到这个问题吗?找到它并关闭作为复制... – CashCow 2011-02-09 12:24:53
[在C++中查找最大,最小,平均矩阵]的可能重复(http://stackoverflow.com/questions/4935630/find-maximum-minimum-average-of-a -matrix-in-c) – CashCow 2011-02-09 12:26:11