这个题教会我 max_element 的用法 该方法可以获取vector中最大的元素的auto类型 (实则为迭代器)
再通过int max_index = distance(vec.begin(), max_it);获取开头和max_it之间的距离(max_it序号再-1的大小)
如果不知道vector里有几个元素怎么办?可以运用vec.size()来获取其中的数量
#include <iostream>
#include <vector>
#include <iterator> //引入迭代器方法
using namespace std;
int main (){
vector<int> sums;
for (int i = 0 ; i <7; i++){
int a,b;
cin >>a>>b;
int sum = a + b;
sums.push_back(sum);
}
auto max = max_element( sums.begin(), sums.end());
int max_index = distance( sums.begin(),max);
cout << max_index + 1;
return 0;
}
但是话又说回来 其实不是太必要使用vector 可以手动循环查询
#include <vector>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6};
int max_index = 0;
int max_value = vec[0];
for (int i = 1; i < vec.size(); i++) {
if (vec[i] > max_value) {
max_value = vec[i];
max_index = i;
}
}
return 0;
}