Question: #include #include #include /* The first three are correct I just want to solve void order_two_players(player_t* player1_p, player_t* player2_p) && void order_all_players(player_t* players, int players_len)

#include

#include

#include

/*

The first three are correct I just want to solve

void order_two_players(player_t* player1_p, player_t* player2_p)

&&

void order_all_players(player_t* players, int players_len)

*/

/*

This function allocates memory for a player_t pointer variable.

Inputs:

player_p_p - memory location of a player_t pointer variable

nplayers - number of players that memory needs to be allocated for

Return:

0 - success

1 - failed to allocate memory

Post:

After the function has been called, *player_p_p will point to freshly

allocated memory if malloc was successful. Otherwise *player_p_p will point to

NULL.

*/

int allocate_memory(player_t** player_p_p, long int nplayers)

{

int n;

player_p_p = ( player_t ** )malloc( nplayers * sizeof( player_t *));

if(!player_p_p)

return 1;

for(n = 0;n < nplayers; n++){

player_p_p[n] = (player_t *) malloc (nplayers*sizeof(player_t));

if(!player_p_p[n]){

return 0;

}

}

return 1;

}

/*

This function initialises each field of one playet_t struct.

Inputs:

player_p - memory location of the player_t variable. player_p must have been

allocated memory using allocate_memory before calling this function.

nplayers - number of players that memory needs to be allocated for

Post:

After the function has been called, the age field of *player_p will be the

input age, and wickets field of *player_p will be the input wickets.

*/

void init_player(player_t* player_p, int age, int wickets)

{

player_p -> age = age;

player_p ->wickets = wickets;

}

/*

This function prints a player_t variable in the following format:

player - age:AA wickets:WWW

Inputs:

player_p - variable to be printed

*/

void print_player(player_t player)

{

printf("player - age:%02d wickets:%03d " , player.age , player.wickets);

}

void order_two_players(player_t* player1_p, player_t* player2_p)

{

/*

This function compares two players. If *player1_p is older than the *player2_p,

swap them. In all other cases, do not swap them.

Inputs:

player1_p - memory location of the first player

player2_p - memory location of the second player

Post:

After the function has been called, the age of *player1_p is always less than

or equal to *player2_p age.

Correct output:

player1: player - age:32 wickets:300

player2: player - age:22 wickets:070

after order_two_players

player1: player - age:22 wickets:070

player2: player - age:32 wickets:300

*/

}

void order_all_players(player_t* players, int players_len)

{

/*

Sort an array of players in non-decreasing order of the age by implementing the

following algorithm:

1. Compare two adjacent players, if the first player is older than the second,

swap the first and second players.

2. Keep comparing the next two adjacent players in the array, until the end of

the array is reached.

3. Repeat the above steps for players_len times.

This simple algorithm is also known as bubble sort.

Inputs:

players - player_t array (memory location of 0th element in the array)

players_len - number of players in the array

*/

}

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!