Please tell the error in the code?

#include
#include
#include
#include
using namespace std;
vector ans;

void sequence(string in ,int i,int j ,string out){
// Base Case
if(in[i]==’\0’){
out+=’\0’;
ans.push_back(out);
return ;
}

// Recurance Relation
sequence(in,i+1,j,out);
out+=in[i];
sequence(in,i+1,j+1,out);

}

int main(){
int n;
cin>>n;
string out="";
string in[n];
for(int i=0;i<n;i++){
cin>>in[i];
}
for(int i=0;i<n;i++){
sequence(in[i],0,0,out);
}
sort(ans.begin(),ans.end());
for(string x : ans){
cout<<x<<endl;
}
return 0;
}

1 Like

hi @nitinchauhan0808_be04315530401452 u need to print one by one (one string’s sub seqence at once)
refer https://ide.codingblocks.com/s/667904

Yes i am printing it one by one but test case didn’t pass?

hi @nitinchauhan0808_be04315530401452 refer

In base case, remove out+=’\0’ line. “string out” already has ‘\0’ at it’s end. This is only required if you are using “char *out” in place of “string out”.

In your code, adding ‘\0’ prints 1 extra space after every line. It works fine if you remove that line.

1 Like