小编yue*_*ong的帖子

C++?无法在开始之前寻找向量迭代器

我正在做一个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)

c++ iterator vector

5
推荐指数
1
解决办法
5085
查看次数

标签 统计

c++ ×1

iterator ×1

vector ×1