有人可以帮助我找到最大值包含的向量的位置。我正在使用visual C ++。
std::vector<double> array;
让我们说:
array = {19.4 , 45.0 ,12.9 ,59.3 , 2.8 ,18.0}
最大值为59.3
。我想填充它的位置。
max_location = 3;
有没有办法得到它......?请帮我。
答案 0 :(得分:0)
好的,让我们考虑一下。你想逐个浏览矢量并找到最大值;你想跟踪价值的指数。这是一些伪代码:
index = 0
for each value in the array from 0 to end
if this is the highest value you've seen so far
save value
save index of value
print index
你怎么能用C ++做这些?
答案 1 :(得分:0)
由于这是一个家庭作业,我不会发布一个完整的解决方案,只是一个想法。请查看std::max_element
(例如here)。它返回一个迭代器,如果它不等于你的array.end()
,你可以得到它与array.begin()
之间的距离,这将是你正在寻找的索引。