#include
#include
#include
using namespace std;
class listOperateion{
private:
string * a;
string * b;
string pattern;
public:
listOperateion(){}
void setList1(string * a){
this->a = a;
}
void setList2(string * b){
this->b = b;
}
string* getList1(){
return this->a;
}
string* getList2(){
return this->b;
}
static vector split(string str,string pattern)
{
string::size_type pos;
vector result;
str+=pattern;
int size=str.size();
for(int i=0; i
{
pos=str.find(pattern,i);
if(pos
{
string s=str.substr(i,pos-i);
result.push_back(s);
i=pos+pattern.size()-1;
}
}
return result;
}
static OutputData elementSplit( string str )
{
OutputData od;
vector result = split(str,",");
//cout<<"the result:"<<endl;
int vsize = result.size();
string str1 = new stringvsize;
for(int i=0; i<result.size(); i++)
{
str1[i] = result[i];
//cout<<str1[i]<<endl;
}
od.setA(str1);
od.setB(vsize);
return od;
}
string dataInput()
{
string a;
char ch1[100];
scanf("%[^\n]", ch1);
a = ch1;
OutputData od ;
od = elementSplit(a);
string *str2 = od.getA();
int vsize = od.getB();
setList1(str2);
/*for (int i=0;i<vsize;i++)
{
cout<<str2[i];
}*/
return str2;
}
};
class OutputData{
private:
string * a ;
int b;
public:
OutputData(){}
void setA(string * a){
this->a = a;
}
string* getA(){
return this->a;
}
void setB(int b){
this->b = b;
}
int getB(){
return this->b;
}
~OutputData(){}