注册 登录
编程论坛 C++教室

奇偶输出的问题

哒哒哒啦啦啦 发布于 2016-05-31 23:51, 3358 次点击
v2输出v1的奇数,v3输出偶数,不知哪里不对,没报错,但调试不过TAT
int main()
{
    std::list<int> v1 = { 1,2,3,4,5,6,7,8 };
    std::list<int>::iterator it;
    it = v1.begin();
    ++it;
    std::deque<int> v2, v3;
    for (auto i = v1.begin(); i != v1.end(); ++i, ++i)
        v2.push_back(*i);
    auto i = v1.begin();

    for (auto i = it; i != v1.begin(); ++i, ++i)
        v3.push_back(*i);
    for (auto i : v2)std::cout << i;
    for (auto i : v3)std::cout << i;

}
3 回复
#2
哒哒哒啦啦啦2016-06-01 00:20
大家先别答了,我在想想,错误蛮多的。。
#3
哒哒哒啦啦啦2016-06-01 21:57
#include<iostream>
#include<list>
#include<vector>
#include<deque>
int main()
{
    std::list<int> v1 = { 1,2,3,4,5,6,7,8,9 };
    std::list<int>::iterator it, it2;
    it = v1.begin();
    it2 = v1.end();
    int a = v1.size(); std::deque<int> v2, v3;
    int i = 0;
    while (i <= a-1)
    {
        (i%2) ? v2.push_back(*it) : v3.push_back(*it);
        ++it; ++i;
    }
    for (auto m : v2)std::cout << m;
    std::cout <<std::endl;
    for (auto m : v3)std::cout << m;
    std::cout << std::endl;
}
#4
哒哒哒啦啦啦2016-06-01 21:57
改好了,指针溢出搞了两个晚上才明白,也是醉了。。是溢出把。。。。
1