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;
}