Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- #include <algorithm>
- using namespace std;
- int sol[13],n,v[13];
- char s[13];
- void afisare()
- {
- for(int i=0;i<=n;i++)
- cout<<s[sol[i]];
- cout<<'\n';
- }
- bool conditie(int k)
- {
- if(strchr("aeiou",s[sol[k]]) && sol[k]!=k) return 0;
- return 1;
- }
- void backt(int k)
- {
- for(int i=0;i<=n;i++)
- if(!v[i])
- {
- sol[k]=i;
- v[i]=1;
- if(conditie(k))
- {
- if(k==n)
- afisare();
- else backt(k+1);
- }
- v[i]=0;
- }
- }
- int main()
- {
- cin.get(s,12);
- for(int i=0;i<strlen(s)-1;i++)
- {if(strchr("aeiou",s[i])==0)
- for(int j=i+1;j<strlen(s);j++)
- if(strchr("aeiou",s[j])==0 && s[i]>s[j])
- {char aux=s[i];
- s[i]=s[j];
- s[j]=aux;}
- }
- n=strlen(s)-1;
- backt(0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement