Code:
#include <stdio.h>
float average(int avg[6])
{
int j;
float sum = 0;
for (j = 1; j <= 5; j++)
{
sum = sum + avg[j];
}
sum = sum / 5;
return(sum);
}
void sort(int sorta[46],int sortb[46])
{
float temp1;
int temp2;
for (int i = 0; i <= 45; i++)
{
if (sortb[i] < sortb[i + 1])
{
temp1 = sortb[i];
sortb[i] = sortb[i+1];
sortb[i + 1] = temp1;
temp2 = sorta[i];
sorta[i] = sorta[i + 1];
sorta[i + 1] = temp2;
}
}
for (int i = 0; i <= 45; i++)
{
printf("%4i %4d\n", sorta[i], sortb[i]);
}
}
int main(void)
{
int mat[46][6] = {
{ 1,82,45,53,55,69 },
{2,91,65,78,14,18},
{3,12,71,94,86,37},
{4,92,76,13,62,63},
{5,63,27,57,35,78},
{6,9,68,47,51,8},
{7,28,66,1,40,93},
{8,55,16,34,7,78},
{9,96,12,16,24,49},
{10,97,50,80,12,44},
{11,15,96,31,18,45},
{12,98,34,53,24,30},
{13,96,59,16,42,51},
{14,49,22,60,5,51},
{15,80,75,26,91,82},
{16,14,25,66,95,80},
{17,42,51,69,49,65},
{18,92,70,75,49,38},
{19,80,89,45,34,81},
{20,96,96,8,90,53},
{21,66,55,23,37,35},
{22,3,14,92,11,94},
{23,85,15,15,78,88},
{24,94,26,83,39,55},
{25,68,84,54,24,62},
{26,76,25,100,40,59},
{27,75,82,7,9,20},
{28,39,24,44,13,30},
{29,66,93,10,95,47},
{30,17,35,97,96,23},
{31,71,19,0,58,85},
{32,3,25,78,6,19},
{33,27,62,82,23,22},
{34,4,47,87,35,17},
{35,9,35,8,82,22},
{36,83,83,40,1,44},
{37,70,59,26,4,31},
{38,32,55,80,17,93},
{39,95,92,43,65,43},
{40,3,28,91,73,18},
{41,44,76,18,65,91},
{42,38,76,26,45,98},
{43,77,38,14,55,44},
{44,80,57,13,29,11},
{45,18,7,87,75,26},
{46,49,5,58,19,41} };
int i, j;
//Print first matrix with averages
for (i = 0; i <= 45; i++)
{
for (j = 0; j <= 5; j++)
{
printf("%4d ", mat[i][j]);
}
printf("%g \n", average(mat[i]));
}
//Assemble average into 46 array to be sent to function
int avg[46];
for (i = 0; i <= 45; i++)
{
avg[i] = average(mat[i]);
}
sort(mat, avg);
getchar();
return(0);
}