What's wrong with this code?
Code:
char tcognome[40];
char tnome[40];
int tnum;
int sorted[STRMAX];
int rank[STRMAX];
for (j = 0; j <cnum; ++j)
{
rank[j] = 0;
for (i = 0; i < cnum; ++i)
rank[j]+=(punteggio[i]>punteggio[j]);
}
/* sort elements */
for (i = 0; i < cnum; i++)
{
sorted[rank[i]]=punteggio[i];
if (rank[i]>rank[i+1]){
strcpy(tnome,nome[i]);
strcpy(nome[i],nome[i+1]);
strcpy(nome[i+1],tnome);
strcpy(tcognome,cognome[i]);
strcpy(cognome[i],cognome[i+1]);
strcpy(cognome[i+1],tcognome);
}
}
printf("4. Outputting contestents' ranking: [in descending order]\n");
/* output */
for (i = 0; i < cnum; ++i)
printf("Points:%d First name:%s Last name:%s\n",sorted[i],nome[i],cognome[i]);
it sorts points right, but again, names aren't associated. That was my try. Any hints?