Maynnnn 2020-10-04 23:21 采纳率: 50%
浏览 232
已采纳

请大神帮忙~C++ 分组并排序

问题描述:
Read the datasets and write them into cout in the following order:
first by dataset (first a, then b) and then by value. Example:
input: a 3 b 2 b 1 a 1 a 4 b 2
output: 1 3 4 1 2 2

我的代码:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

    vector<int> a;  //将vector a, b 定义为全局变量,因为之后要用
    vector<int> b;  

void assignGroup(char groupName, int x){
    vector<int> a1;  //定义两个局部变量,接收用户输入的数x
    vector<int> b1;
    switch(groupName){
        case 'a':    //若输入a x, 则x放入vector a1
            a1.push_back(x); 
            break;
        case 'b':   //若输入b x, 则x放入vector b1
            b1.push_back(x);
            break;
        default:
            break;
    }

    a=a1;  //将a1,b1 赋给全局变量a,b
    b=b1;
}
void displaya(){  
    sort(a.begin(),a.end()); //vector a 中的元素以从小到大的顺序排列
    for (auto e : a){        //输出vector a 中的元素
        cout<<e<<" ";
    }
}
void displayb(){
    sort(b.begin(),b.end()); //vector b 中的元素以从小到大的顺序排列
    for (auto e : b){        //输出vector b 中的元素
        cout<<e<<" ";
    }
}

int main(){
    char groupName;
    int x;
    while (true){
        cin>>groupName;   //输入例如 a 3 a 2 b 1 a 4....
        cin>>x;

        if (cin.fail()){
            break;
        }
        assignGroup(groupName,x);//先将数字分成ab两组
        displaya();              //输出排列好的a b
        displayb();
    }
    return 0;
}

输入:a 3 b 2 b 1 a 1 a 4 b 2
正确输出:1 3 4 1 2 2
我的输出:3 2 1 1 4 2
看上去既没有分组也没有排序。。。

Thank you for your time:)

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-10-05 10:15
    关注
        vector<int> a1;  //定义两个局部变量,接收用户输入的数x
        vector<int> b1;
    去掉这些
    直接pushback到a b中,然后检查groupName输入正确了没有
    换成scanf
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?