C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 8SA
icon
Related questions
Question

(C Language) Given a main program that reads the number of one word names followed by the list of names, complete the recursive function PrintAllPermutations() to list all ways people can line up for a photo (all permutations of an array of strings). Function PrintAllPermutations() takes 4 parameters: an array of a permutation of names, the number of names in the array of the permutation of names, an array of available names, and the number of names in the array of available names. Function PrintAllPermutations() then creates and outputs all possible orderings of those names separated by a comma, one ordering per line.

Given a main program that reads the number of one word names followed by the list of names, complete the recursive function
PrintAllPermutations() to list all ways people can line up for a photo (all permutations of an array of strings). Function
PrintAllPermutations() takes 4 parameters: an array of a permutation of names, the number of names in the array of the permutation of
names, an array of available names, and the number of names in the array of available names. Function PrintAllPermutations() then creates
and outputs all possible orderings of those names separated by a comma, one ordering per line.
When the input is:
3 Julia Lucas Mia
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
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4
5 const int MAX_NAME_SIZE = 50;
6
7 // TODO: Write function to create and output all permutations of the list of names.
8 void PrintAllPermutations (char **permList, int permSize, char **nameList, int nameSize) {
9}
10
11 int main(void) {
12
int size;
13
int i = 0;
char name [MAX_NAME_SIZE];
14
15 scanf("%d", &size);
16
17
18
19
20
21
22
23
#48722
26
25 PrintAllPermutations (permList, 0, nameList, size);
29
30
char *nameList[size];
char *permList[size];
31
32
33 }
for (i = 0; i < size; ++i) {
nameList[i] = (char *)malloc(MAX_NAME_SIZE);
scanf("%s", name);
strcpy(nameList[i], name);
// Free dynamically allocated memory
for (i = 0; i < size; ++i) {
free (nameList[i]);
return 0;
Transcribed Image Text:Given a main program that reads the number of one word names followed by the list of names, complete the recursive function PrintAllPermutations() to list all ways people can line up for a photo (all permutations of an array of strings). Function PrintAllPermutations() takes 4 parameters: an array of a permutation of names, the number of names in the array of the permutation of names, an array of available names, and the number of names in the array of available names. Function PrintAllPermutations() then creates and outputs all possible orderings of those names separated by a comma, one ordering per line. When the input is: 3 Julia Lucas Mia 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 1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <string.h> 4 5 const int MAX_NAME_SIZE = 50; 6 7 // TODO: Write function to create and output all permutations of the list of names. 8 void PrintAllPermutations (char **permList, int permSize, char **nameList, int nameSize) { 9} 10 11 int main(void) { 12 int size; 13 int i = 0; char name [MAX_NAME_SIZE]; 14 15 scanf("%d", &size); 16 17 18 19 20 21 22 23 #48722 26 25 PrintAllPermutations (permList, 0, nameList, size); 29 30 char *nameList[size]; char *permList[size]; 31 32 33 } for (i = 0; i < size; ++i) { nameList[i] = (char *)malloc(MAX_NAME_SIZE); scanf("%s", name); strcpy(nameList[i], name); // Free dynamically allocated memory for (i = 0; i < size; ++i) { free (nameList[i]); return 0;
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning