Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education