getting all the test cases wrong
#include
#include
#include <string.h>
using namespace std;
void swap(char *x, char *y)
{
char temp;
temp = *x;
*x = *y;
*y = temp;
}
void permut(char *a, int l, int r, char *org)
{
if (l == r)
{
if (strcmp(org, a) > 0){
cout << a << endl;
}
}
else
{
for (int i = l; i <= r; i++)
{
swap((a + l), (a + i));
permut(a, l + 1, r, org);
swap((a + l), (a + i));
}
}
}
bool mycomaper(char a, char b)
{
return int(a) < int(b);
}
int main()
{
char str[10];
char org[10];
cin >> str;
strcpy(org, str);
int len = strlen(str);
sort(str, str + len, mycomaper);
permut(str, 0, len - 1, org);
}