ho provato ad utilizzare il metodo di "selection sort", che è l'unico che conosco meglio, solamente che io lo utilizzavo per ordinare un vettore contenente numeri e non riesco a riadattarlo per i char, ho provato ad abbozzare la funizione che mi dovrebbe ordinare i nomi(avrò combinato sicuramente un casino):
codice:
void ordina(struct elenco *A,int B,FILE *C)
{
int i,j,k,imin;
char V[10],temp[10];
fprintf(C,"Hanno superato l'esame:\n");
for(i=0;i<B;i++)
{
if(A[i].voto>15)
{
for(j=0;j<B-1;j++)
{
imin=j;
for(k=j+1;k<B;k++)
if(A[k].cognome<V[imin])
imin[j]=k;
temp[j]=A[j].cognome;
A[j].cognome=V[imin];
V[imin]=temp[j];
}
fprintf(C,"%s %s %d %d %d\n",A[i].cognome,A[i].nome,A[i].matricola,A[i].voto,A[i].posizione);
}
}
}