Con una sola procedura (molto molto poco elegante)
codice:typedef struct{ int ore; int minuti;}Orario; typedef struct { Orario time; char attivita[20];} Impegno; void OrdinaImpegni(Impegno a[], int n) { for (int i = n-1; i >= 0; i--) for (int j = n-2; j >= 0; j--) if ((a[j].time.ore*60 + a[j].time.minuti) > (a[j+1].time.ore*60 + a[j+1].time.minuti)) { Impegno temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } }