Write a short C++ program that outputs all possible strings formed by using each of the characters ’a’, ’b’, ’c’, ’d’, ’e’, and ’f’ exactly once -


I came to this question and I am unable to resolve it. I had all the code for small strings such as ab, ac, ad, ae, af and not for long strings like abc, abcd, etc . It would be really good if someone could give me directions for some sort of solution I like without recycling , but if not, then recursion is also fine.

Here's my code:

  Add # & lt; Iostream & gt; #to & lt include, vector & gt; # Include & lt; Algorithm & gt; using namespace std; Of vector & lt; String & gt; Make_string (vector & lt; char> vec, char ch) {int i = 0; Vec.erase (Remove (vec.begin (), vec.end (), ch), vec.end ()); Int size = vec.size (); Of vector & lt; String & gt; All_strings; String Answer = ""; For (i = 0; i & lt; size; i ++) // Here is the "flesh" here I can add more to the loops for longer strings but I think it will only become dirty. {Answer = Answer + f + vk [i]; All_strings.push_back (answer); Answer = ""; } Return all_strings; } Zero print_ vector (vector & lt; string & gt; vec) {int i = 0; Int size = vec.size (); For {i = 0; i    

You are searching for a permutation algorithm. Please take a look at this post on wordaligned.org, which describes the problem of this problem:

The author's code is very simple and uses the standard library :

  #include & lt; Algorithm & gt; # Include & lt; Cstdio & gt; Int main () {char xs [] = "abcdef"; // & lt; - Modified to fit the question. Do {std :: puts (xs); } While (std :: next_permutation (xs, xs + sizeof (xs) - 1)); Return 0; }   

If you read further, then there is a discussion on the implementation of next_permutation and how it works, the dissolution of it.

Comments

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -