Я пытаюсь отсортировать по количеству введенных фанатов, а не по цене билетов, но при изменении продаж фанатам я получаю сообщение об ошибке.Я думаю, что это как-то связано с тем, как оно инициализируется, но я новичок во всем этом, и я заблудился в соусе.
Я попытался изменить весь код так, чтобы fan - это float, но этовсе испортил.
void switchRows (int m, int n) {
char tc;
int ti;
float v;
// printf ("Switching %d with %d\n", 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) {
int min = fans [m];
int target = m;
for (int i = m+1; i < count; i++)
if (fans [i] < min) {
min = fans [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
Вот ошибка, которую я получаю:
warning: incompatible pointer to integer conversion initializing 'int' with an expression of type 'int [4]' [-Wint-conversion]
int min = fans [m];
^ ~~~~~~~~
main.c:82:18: warning: ordered comparison between pointer and integer ('int *' and 'int')
if (fans [i] < min) {
~~~~~~~~ ^ ~~~
main.c:83:11: warning: incompatible pointer to integer conversion assigning to 'int' from 'int [4]' [-Wint-conversion]
min = fans [i];
^ ~~~~~~~~
3 warnings generated