1.C++一个程序,实现两个类,分别存放输入的字符串中的数字和字母,并按各自的顺序排列,
类中实现-一个dump函数,调C++用后输出类中当前存放的字符串结果。
例如,输入1u4y2a3d,输出:存放字母的类,输出aduy,存放数字的类输出1234
using namespace std;class A
{char alphabet[50];
public:void set(char *arr){int i=0;for( i=0;arr[i]!='\0';i++)this->alphabet[i]=arr[i];this->alphabet[i]='\0';}void show(){int i=0;while(alphabet[i]!='\0'){cout << alphabet[i];i++;}cout << endl;}};
class B
{char num[50];
public:void set(char *arr){int i=0;for(i=0;arr[i]!='\0';i++)this->num[i]=arr[i];num[i]='\0';}void show(){int i=0;while(num[i]!='\0'){cout << num[i];i++;}cout << endl;}
};
void bubbling(char *arr)
{int len=0;for(len=0;arr[len]!='\0';len++);for(int i=1;i<len;i++){for(int j=0;j<len-i;j++){if(arr[j]>arr[j+1]){char temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}
}
void show(char *arr)
{int i=0;while(arr[i]!='\0'){cout << arr[i];i++;}cout << endl;
}void dump(char *a,char *alphabet,char *num){int j=0,n=0;for(int i=0;a[i]!='\0';i++){if(a[i]>='a'&&a[i]<='z'){alphabet[j]=a[i];j++;}else if(a[i]>='0'&&a[i]<='9'){num[n]=a[i];n++;}}alphabet[j]='\0';num[n]='\0';bubbling(alphabet);bubbling(num);}
int main()
{char arr[100]="";char alphabet[50];char num[50];cin >> arr;dump(arr,alphabet,num);A a1;B b1;a1.set(alphabet);b1.set(num);a1.show();b1.show();return 0;
}