How do you generate all the permutations of a list in the C program for the problem: "In how many different orders can five runners finish a race if no ties are allowed?". This is what I have gotten so far but not yet corrected, please help me to fix and finish the code: #include #define MAX 200 int x[MAX]; int n, k; void Print() {    int i;    for (i = 1; i <= k; i++)    {        printf("%6d", x[i]);        printf("\n");    }    return; } void Try(int start) {    int i, j;    int temp;    for (i = x[start - 1]; i < n; i++) {        for (j = i + 1; j < n - 1; j++) {            if (x[i] > x[j]) {                temp = x[i];                x[i] = x[j];                x[j] = temp;            }            if (x[i] < x[j]) {                temp = x[j];                x[j] = x[i];                x[i] = temp;            }        }    }    Print();    return; } int main() {    n = 5;    k = 5;    x[0] = 0;    Try(1);    return 0; } The following is the example of the output of another problem:

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

How do you generate all the permutations of a list in the C program for the problem: "In how many different orders can five runners finish a
race if no ties are allowed?". This is what I have gotten so far but not yet corrected, please help me to fix and finish the code:

#include <stdio.h>

#define MAX 200
int x[MAX];
int n, k;

void Print()
{
   int i;
   for (i = 1; i <= k; i++)
   {
       printf("%6d", x[i]);
       printf("\n");
   }
   return;
}

void Try(int start)
{
   int i, j;
   int temp;
   for (i = x[start - 1]; i < n; i++) {
       for (j = i + 1; j < n - 1; j++) {
           if (x[i] > x[j]) {
               temp = x[i];
               x[i] = x[j];
               x[j] = temp;
           }
           if (x[i] < x[j]) {
               temp = x[j];
               x[j] = x[i];
               x[i] = temp;
           }
       }
   }
   Print();
   return;
}

int main()
{
   n = 5;
   k = 5;
   x[0] = 0;
   Try(1);
   return 0;
}

The following is the example of the output of another problem:

permutations ( [1, 2, 3])
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 1, 2]
[3, 2, 1]
Transcribed Image Text:permutations ( [1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]
Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY