View the step-by-step solution to:

# my lab assignment is asking "what changes should be made to the code if we wished to sort based on the number of fans in the 1st of the 4

my lab assignment is asking "what changes should be made to the code if we wished to sort based on the number of fans in the 1st of the 4 categories". In addition to this add a function to print welcome at beginning of c code and call this function to main. the code provided is

// C code

// This code will compute the values of the sales ticket sales for concerts

// and sort the entries by those values

// Developer: Faculty CMIS102

// Date: Jan 31, XXXX

#include <stdio.h>

#define MAXN 100 // max characters in a group/concert name

#define MAXG 5 // max concerts/groups

#define MAXC 4 // max categories

char group [MAXG][MAXN];

int fans [MAXG][MAXC];

float prices [MAXC];

float sales [MAXG];

int count = 0;

void printArray () {

printf ("%15s%5s%5s%5s%5s%10sn",

"Concert", "s1", "s2", "s3", "s4","Sales");

for (int i = 0; i < count; i++) {

printf ("%15s", group [i]);

for (int j = 0; j < MAXC; j++) {

printf ("%5d", fans[i][j]);

} // end for each category

printf ("%10.2fn", sales [i]);

} // end for each group

} // end function printArray

void computeSales () {

for (int i = 0; i < count; i++) {

sales [i] = 0;

for (int j = 0; j < MAXC; j++) {

sales [i] += prices [j] * fans [i][j];

} // end for each category

} // end for each group

} // end function computeSales

void switchRows (int m, int n) {

char tc;

int ti;

float v;

// printf ("Switching %d with %dn", m, n);

for (int i = 0; i < MAXN; i++) {

tc = group [m][i];

group [m][i] = group [n][i];

group [n][i] = tc;

} // end for each character in a group name

for (int i = 0; i < MAXC; i++) {

ti = fans [m][i];

fans [m][i] = fans [n][i];

fans [n][i] = ti;

} // end for each fan category

v = sales [m];

sales [m] = sales [n];

sales [n] = v;

} // end switch

int findMinSales (int m) {

float min = sales [m];

int target = m;

for (int i = m+1; i < count; i++)

if (sales [i] < min) {

min = sales [i];

target = i;

} // end new max found

return target;

} // end function findMinSales

void sortBySales () {

int target;

for (int i = 0; i < count; i++) {

target = findMinSales (i);

if (target > i)

switchRows (i, target);

} // for each concert

} // end function sortBySales

void getData () {

// for (int i = 0; i < MAXG; i++) sales [i] = 0;

printf ("Enter ticket prices in each of %d cateogories: ", MAXC);

for (int i = 0; i < MAXC; i++)

scanf ("%f", &prices [i]);

printf ("-- Enter group and fans in %d categoriesn", MAXC);

printf (" . to finish entries:n");

for (int i = 0; i < MAXG; i++) {

scanf ("%s", &group[i]);

if (group [i][0] == '.')

break;

count++;

for (int j = 0; j < MAXC; j++)

scanf ("%d", &fans[i][j]);

} // end for each group

} // end function getData

int main(void) {

getData ();

computeSales ();

printArray ();

printf ("n --- Sorted ---n");

sortBySales ();

printArray ();

printf("... bye ...n");

return 0;

}

#### Top Answer

Instead of int findMinSales ( int m) {      float min = sales [m];      int target = m;      for ( int i = m+ 1 ; i... View the full answer

### Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

### -

Educational Resources
• ### -

Study Documents

Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

Browse Documents
• ### -

Question & Answers

Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

Ask a Question
Ask a homework question - tutors are online