我正在做一个uva问题uva 10935扔卡片,我的代码如下。当我运行它时,它说引发了未处理的异常:读取访问冲突,并且还显示“无法在开始之前寻找向量迭代器”,我不知道我的代码中的问题出在哪里:
#include<vector>
#include<iostream>
using namespace std;
int n;
vector<int> out;
int main() {
freopen("data.txt", "r", stdin);
while (scanf("%d", &n) == 1 && n) {
vector<int> cards;
for (int i = 1; i <= n; i++)cards.push_back(i);
vector<int>::iterator it = cards.begin();
vector<int>::iterator end = cards.end();
while (it != (end-1)) {
out.push_back(*it);
it++;
cards.push_back(*it);
it++;
end++;
}
cout << "Discarded cards: ";
for (int j = 0; j < out.size(); j++) {
if(j!=(out.size()-1))cout << out[j] << ", ";
else cout …Run Code Online (Sandbox Code Playgroud)