Salve, vi posto parte di un programma.
Come si può notare la funzione di ordinamento è la selection sort adattata; quello che devo fare è ordinare per cognome (in ordine crescente) una serie di richieste (totRich è il numero totale).
L'idea è che posso stabilire una relazione di ordine tra due lettere, ma è corretto il confronto if(r[j].cognome<r[index].cognome)?Cioè, il programma confronta le due lettere iniziali oppure mi salta tutto?
void Ordina(int totRich, Richiesta r[]){
for(int i=0; i<totRich-1; i++){
int index=i;
for(int j=i+1; j<totRich; j++)
if(r[j].cognome<r[index].cognome) index=j;
Richiesta tmp=r[i];
r[i]=r[index];
r[index]=tmp;}}
dove Richiesta è una struttura di questo tipo:
struct Richiesta {
char nome[MAXS];
char cognome[MAXS];
int punti; };
Grazie in anticipo per le risposte