Ho un grave problema. Devo ordinare una tabella per codice crescente e, per fare questo, ho scritto la seguente funzione:
void naivesort (tabella E, int n) {
int i, j, k, posmin, min;
tabella O;
for (j=0; j<n; j++){
posmin=j;
for (min=E[j].codice, i=j+1, k=0; i<n; i++, k++)
if (E[i].codice < min){
min=E[i].codice;
posmin=i;}
if (posmin!=j){
O[k] = E[posmin];
E[posmin]=E[j];
E[j] = O[k];}
}
}
Questa è la definizione di "tabella":
typedef struct
{
int codice;
char descrizione[21];
char staz_arrivo[21];
int hh_partenza, mm_partenza;
int hh_arrivo, mm_arrivo;
char ritardo[6];
} treno;
typedef treno tabella[N];
Peccato che il debugger alla riga "if (E[i].codice < min)" mi dia un errore di "Address access violation".
Come posso fare? Sono disperato.
Ringrazio in anticipo chiunque voglia aiutarmi