Пользователь, набравший 10 очков и сыгравший только один раз, должен прийти раньше, чем пользователь, набравший 15 очков, сыгравший в 2 играх.
Так ли это, что вы хотитеранжировать сначала по количеству игр, а затем по очкам?Я предполагаю, что да, но если нет, то вы должны решить, каковы критерии заказа.Вот функция, которую вы можете передать qsort (3).Сезон по вкусу.
typedef struct {
char nome[50], password[50];
int pontos, n_jogos;
} Utilizador;
int cmp ( const void *A, const void *B ) {
const Utilizador *a=A, *b=B;
if( a->jogos == b->jogos) {
if( a->pontos == b-pontos ) return 0;
return a->pontos < b-pontos? -1 : 1;
}
return a->jogos < b->jogos? -1 : 1;
}