基于输入的C++分段错误
在这个程序中插入一个输入文件后,我遇到了一个分段错误。我找不到问题出在哪里,有人能帮我解决这个问题吗?这是USACO培训milk2问题的解决方案基于输入的C++分段错误,c++,C++,在这个程序中插入一个输入文件后,我遇到了一个分段错误。我找不到问题出在哪里,有人能帮我解决这个问题吗?这是USACO培训milk2问题的解决方案 #include <algorithm> #include <bitset> #include <limits> #include <climits> #include <cmath> #include <cstring> #include <ctime> #inclu
#include <algorithm>
#include <bitset>
#include <limits>
#include <climits>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main ()
{
std::ifstream in ("milk2.in");
std::ofstream out ("milk2.out");
std::vector< pair <int,int> > v;
int n,i,maxn,maxs,t,ts;
in >> n;
for (i = 0; i < n; i++)
{
in >> v[i].first >> v[i].second;
}
for (i = 0; i < n; i++)
{
if (v[i].second<(v[i+1].first)
{
t=v[i+1].first-v[i].second;
if (t>maxn){
maxn=t;
}
}
else
{
ts=v[i+1].second-v[i].first;
if (ts>maxs)
{
maxs=ts;
}
}
}
out << maxs <<" "<< maxn;
return 0;
}
创建向量v时,它是空的。所以任何索引,即使是零,都是非法的
您需要首先在向量中创建条目,例如通过执行。断层线将有助于。。。