Question: My code is supposed to Write a program in c++ that lists all ways people can line up for a photo (all permutations of a

My code is supposed to Write a program in c++ that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names separated by a comma, one ordering per line.

When the input is:

Julia Lucas Mia -1 

then the output is (must match the below ordering):

Julia, Lucas, Mia Julia, Mia, Lucas Lucas, Julia, Mia Lucas, Mia, Julia Mia, Julia, Lucas Mia, Lucas, Julia 

Here is my code:

#include #include #include

using namespace std;

// TODO: Write method to create and output all permutations of the list of names. void PrintAllPermutations(vector &permList, vector &nameList) { if (nameList.empty()) { // Base case: no more names to permute, so print the permutation for (int i = 0; i < nameList.size(); i++) { if (i > 0) { cout << ", "; } cout << permList[i]; } cout << endl; } else { // Recursive case: choose a name from the list, add it to the permutation, // and permute the remaining names for (int i = 0; i < nameList.size(); i++) { string name = nameList[i]; permList.push_back(name); nameList.erase(nameList.begin() + i); PrintAllPermutations(nameList, permList); nameList.insert(nameList.begin() + i, name); permList.pop_back(); } }

}

int main() { vector nameList; vector permList; string name = "";

// TODO: Read in a list of names; stop when -1 is read. Then call recursive method. while(name != "-1"){ cin >> name; if(name != "-1") nameList.push_back(name); }

PrintAllPermutations(permList, nameList); return 0; }

Unfortunately this code returns a single error "Exited with return code -11 (SIGSEGV)." can you please explain why this happens and what the corrected code that will work is?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!