云梦尘 2017-10-23 13:21 采纳率: 0%
浏览 302

大佬们,自己写的一个小程序 怎么不对呀

#include
#include
#include
#include
using namespace std;
list list1;
deque deque1;
deque deque2;
deque deque3;
void read()
{
int num;
while (cin >> num)
list1.push_back(num);

}
void judge()
{
list::iterator it1=list1.begin();
for ( it1; it1 !=list1.end(); it1++)
{

if ((*it1)%2==0)
{
deque1.push_back(*it1);

    }
    else
    {
        deque2.push_back(*it1);
    }
}

}
void main()
{
read();
judge();
deque::iterator it2 = deque1.begin();
deque::iterator it3 = deque2.begin();
cout << "偶数为:";
for (it2; it2 != deque1.end();it2++)
{
cout << *it2 << " ";
}
cout << endl;
cout << "奇数为:";
for (it3; it3 != deque2.end(); it3++)
{
cout << *it3 << " ";
}
cout << endl;
}

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 02:08
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你的代码有一些问题。首先,deque 是一个容器类,而不是一种数据结构。其次,在 read() 函数中,你尝试使用 push_back 方法来添加元素到 list 类型的容器,这将导致错误。

    正确的做法是,创建一个 vector 或者 stack 类型的容器来存储整数,并在读取输入时直接将其添加到容器中。然后,你可以根据这些整数创建 deque 对象,并按照题目要求进行操作。

    以下是一个修改后的版本:

    #include <iostream>
    #include <vector>
    #include <deque>
    
    using namespace std;
    
    int main() {
        vector<int> vec;
        deque<int> deq;
    
        int n;
        cin >> n;
    
        for (int i = 0; i < n; ++i) {
            int x;
            cin >> x;
            vec.push_back(x);
            deq.push_back(x);
        }
    
        // 偶数和奇数的操作可以在这里实现
    
        return 0;
    }
    

    请注意,这里我们使用了 vectordeque 来存储整数,但它们并不适用于题目中的需求。实际上,你需要使用另一种容器类型(例如 std::arraystd::list 等)来存储整数,并且在读取输入时直接添加到这个容器中。

    评论

报告相同问题?

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急