定义一个类Deduplicate,设计一个算法实现将输入的一个字符串

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
#include <iostream>
using namespace std;
class Deduplicate
{
private:
char data[100];
char result[100];
int num;

public:
Deduplicate (int a=0){num=a;}
void input();
void process();
void sort();
void display( );

};


void Deduplicate::input()
{
cout<<"请输入一个字符串"<<endl;
cin>>data[100];
}
void Deduplicate::process()
{
int k=0;
result[0]=data[0];

for (unsigned int i=0; i <strlen(data); i++)
{
for (unsigned int j =0,f=0; j <strlen(result); j++)
{if(result[j]==data[i])
{f=1;break;}
if(f==0)
result[k++]=data[i];
}
}
result[k]='\0';
num=strlen(data)-strlen(result);
cout<<"共删除重复字符数为"<<num<<endl;
cout<<"删除重复字符后的结果为"<<result[k]<<endl;
}
void Deduplicate::sort()
{
    for (int k = 0; k <result[k-1]; k++) {
        
                if (result[k] >result[k+1]) {
                    char temp = result[k];
                    result[k] = result[k+1];
                    result[k+1] = temp;
                }
    }
    cout<<"字符串排序后的结果为"<<result[k]<<endl;

}
void Deduplicate::display( )
{
}
int main()
{
Deduplicate test;
test.input();
test.process();
test.sort();
test.display( );
    
system("pause");
return 0;
}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

img


#include <iostream>
using namespace std;
class Deduplicate
{
private:
    char data[100];//存放输入的字符串。
    char result[100];//存放处理后的字符串。
    int num;//删除重复字符串后的字符串中的字符个数。
public:
    Deduplicate (int a=0){num = 0;}
    void input(){cin >> data;}//向data数组中输入存放字符串
    //实现删除字符串中所有重复出现的字符。
    void process()
    {
        int i=0,k=0;
        num = 0;
        for (i=0;data[i]!= '\0';i++)
        {
            for (k=0;k<num;k++)
            {
                if(result[k]== data[i])
                    break;
            }
            if(k==num)
                result[num++]= data[i];
        }
        result[num]=0;
    }
    //对删除重复字符串结果进行排序。
    void sort()
    {
        int i,j;
        char ch;
        for (i=0;i<num-1;i++)
        {
            for (j=0;j<num-1-i;j++)
            {
                if(result[j] > result[j+1])
                {
                    ch = result[j];
                    result[j]= result[j+1];
                    result[j+1]= ch;
                }
            }
        }
    }
    //输出字符串。
    void display()
    {
        cout << result<<endl;
    }
    //获取删除重复字符数
    int getNum()
    {
        return num;
    }
};
int main()
{
    Deduplicate test;
    test.input();
    test.process();
    test.sort();
    test.display();
    cout << "去重后的长度:"<<test.getNum()<<endl;
    return 0;
}