Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Need help with C program. Need to use buble sort to sort all my friends in ascen

ID: 3931168 • Letter: N

Question

Need help with C program. Need to use buble sort to sort all my friends in ascending order for option 3. please help.

#include <stdio.h>
#include <stdlib.h>

//Struct to hold fraction data
typedef struct fraction
{
   int numerator, denom;
}fraction;


int main()
{
   //Array of 100 fractions
   fraction arrFraction[100];

   int i = 0;
       int j;
       int num = 1;
  
   while (num == 1)
   {
       int choice;
       printf(" Press 1 to enter a fraction ");
       printf("Press 2 to view stored fractions ");
       printf("Press 3 to sort fractions ");
       scanf("%d", &choice);


       if(choice == 1)
       {
           //Prompting user
           printf(" Enter your fraction, numerator followed by denominator ");

           //Reading values from user
           scanf("%d %d", &arrFraction[i].numerator, &arrFraction[i].denom);

           //Incrementing counter
           i++;
  
       }

       if (choice == 2) {
           printf("------------------------- ");
           for (j = 0; j < i; j++)
              
           {
               printf("%d %d/%d ", arrFraction[j].numerator/arrFraction[j].denom, arrFraction[j].numerator%arrFraction[j].denom, arrFraction[j].denom);
           }
           printf(" ------------------------- ");
       }
      
  
      
       if (choice == 3)
       {
      


       }
  
  
  
  
   }

   system("pause");
   return(0);
}

Explanation / Answer

// C code to take input and sort fraction
#include <stdio.h>
#include <stdlib.h>

//Struct to hold fraction data
typedef struct fraction
{
int numerator, denom;
}fraction;

int main()
{
//Array of 100 fractions
fraction arrFraction[100];
int i = 0;
int j;
int k;
int num = 1;
  
while (num == 1)
{
int choice;
printf(" Press 1 to enter a fraction ");
printf("Press 2 to view stored fractions ");
printf("Press 3 to sort fractions ");
printf("Press 4 to Quit ");
scanf("%d", &choice);

if(choice == 1)
{
//Prompting user
printf(" Enter your fraction, numerator followed by denominator ");
//Reading values from user
scanf("%d %d", &arrFraction[i].numerator, &arrFraction[i].denom);
//Incrementing counter
i++;
  
}
else if (choice == 2) {
printf("------------------------- ");
for (j = 0; j < i; j++)
  
{
printf("%f %d/%d ", (float)arrFraction[j].numerator/arrFraction[j].denom, arrFraction[j].numerator%arrFraction[j].denom, arrFraction[j].denom);
}
printf(" ------------------------- ");
}
  
  
  
else if (choice == 3)
{
  
for (j = 0; j < i; j++)
{
for (k = 0; k < i; k++)
{
float fraction1 = (float)arrFraction[j].numerator/arrFraction[j].denom;
float fraction2 = (float)arrFraction[k].numerator/arrFraction[k].denom;

if(fraction2 > fraction1)
{
int temp1 = arrFraction[j].numerator;
arrFraction[j].numerator = arrFraction[k].numerator;
arrFraction[k].numerator = temp1;

int temp2 = arrFraction[j].denom;
arrFraction[j].denom = arrFraction[k].denom;
arrFraction[k].denom = temp2;

}
}
}

printf("Fraction Sorted ");

}

else if (choice == 4)
break;

else
printf("Invalid Input ");
  
}
return(0);
}

/*
output:


Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
1

Enter your fraction, numerator followed by denominator

5
6

Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
1

Enter your fraction, numerator followed by denominator
1
2

Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
1

Enter your fraction, numerator followed by denominator
3
4

Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
1

Enter your fraction, numerator followed by denominator
9
10

Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
2
-------------------------
0.833333 5/6
0.500000 1/2
0.750000 3/4
0.900000 9/10

-------------------------


Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
3
Fractions Sorted


Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
2
-------------------------
0.500000 1/2
0.750000 3/4
0.833333 5/6
0.900000 9/10

-------------------------


Press 1 to enter a fraction
Press 2 to view stored fractions
Press 3 to sort fractions
Press 4 to Quit
4


*/