sinat_32051231 2016-05-26 07:44 采纳率: 100%
浏览 1006

不明白为什么设计的一个排序无法将string类数据进行排序

#include
#include
题目是输入几个字符串(包含大写字母、数字、—,),按照题目给定的对应规律把字符串中的特定字符变为对应数字,形成号码(转换后的号码长度为7),然后按顺序输出号码以及对应的出现次数。。。
using namespace std;
class tel
{
public:
int num;
string ori;string *alt;
tel(int n);
tel sort();
void print();
friend char search (char);
};
void tel::print()
{略}
tel tel::sort()
{
string *begin = alt, *end = alt+num;
if(num== 1) return *this;
const char
p=alt->c_str();//测试行
cout<<p<<endl;

//这里可以显示正确alt中的字符串
for(string* i = begin; i != end; i++)
    for(string* j = i; j != begin; j--)
        if( *(j-1) > *j )
        {
            string temp(*(j-1));
            *(j-1) = *j;
            *j = temp;
        }
const char* q=alt->c_str();//测试行
cout<<q<<endl;//测试行输出结果和上面一样。。为什么没有发生交换?
return *this;

}
char search (char a)
{
实现问题无关功能,略
}
tel::tel(int n)//题目是输入几个字符串(包含大写字母、数字、—,),按照题目给定的对应规律把字符串中的特定字符变为对应数字,形成号码(转换后的号码长度为7)
{
num=n;
ori=new string [num];
alt=new string [num];
for (int i=0; i!=num;i++)
{
cin>>ori[i];
int k=0;
int len=(int)strlen(ori[i].c_str());
for (int j=0;j!=len;j++)
{

        if(ori[i][j]>=65&&ori[i][j]<=90)
        { alt[i][k]=search(ori[i][j]);k++;}
        else if(ori[i][j]>=48&&ori[i][j]<=57)
        {
            alt[i][k]=ori[i][j];k++;
        }
        else continue;
    }

}

}

int main()
{
int num;
cin>>num;
tel directory(num);
directory.sort().print();

return 0;

}

  • 写回答

1条回答 默认 最新

  • 普通网友 2016-10-04 18:37
    关注

    明白为什么设计的一个排序无法将string类数据进行排序
    如注释所写问题。。
    #include
    #include
    题目是输入几个字符串(包含大写字母、数字、—,),按照题目给定的对应规律把字符串中的特定字符变为对应数字,形成号码(转换后的号码长度为7),然后按顺序输出号码以及对应的出现次数。。。
    using namespace std;
    class tel
    {
    public:
    int num;
    string ori;string *alt;
    tel(int n);
    tel sort();
    void print();
    friend char search (char);
    };
    void tel::print()
    {略}
    tel tel::sort()
    {

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置