在写题,遇到一个错误,怎么改都不行。。。。。
原题目如下
源代码如下
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int n;//pudding的数量
cin >> n;
int* pd = new int[n];//输入pudding的数组
for (int i = 0; i < n; i++)
{
cin >> pd[i];
}
//将数组pd输入到容器中
vector<int> pudding;
for (int i = 0; i < n; i++)
{
pudding.push_back(pd[i]);
}
int q;//询问的次数是q
cin >> q;
int* arr = new int[2 * q];//arr是输入的询问数组
for (int i = 0; i < 2 * q; i++)
{
cin >> arr[i];
}
vector<int> arr1;//将询问数组输入到容器中
for (int i = 0; i < 2 * q; i++)
{
arr1.push_back(arr[i]);
}
//定义iterator
vector<int>::iterator ite1;
int count = 0;
while (!arr1.empty())
{
int l = arr1[0];
int r = arr1[1];//询问的范围
vector<int> sort_arr;
for (int i = l - 1; i < r; i++)
{
sort_arr.push_back(pudding[i]);
}
sort(sort_arr.begin(), sort_arr.end());
reverse(sort_arr.begin(), sort_arr.end());
ite1 = sort_arr.begin();
cout << *sort_arr.begin() << endl;
arr1.erase(arr1.begin(), arr1.begin() + 1);
}
}
既然是vector 可以直接用at函数呀。不用迭代器迭代也行
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632