Ciao a tutti. Ho un grosso problema. Ho definito una struttura dati che ho chiamato scheda, definita come segue:
codice:
typedef struct scheda{ int anno;
char nome;
char titolo; }scheda_t;
Il mio array è scheda_t* array[].
La funzione deve ordinare l'array di puntatori a schede a seconda di uno dei tre campi (della scheda) specificato dal tipo enum campo_c, e riceve in input i seguenti parametri, restituendo un int:
codice:
int sort_schede(scheda_t* array[], int n, campo_t c)
Ho intenzione di usare la qsort() già implementata nella stdlib.h, utilizzando la "versione" per le stringhe, se si tratta di ordinare i campi costituiti da char, altrimenti la versione "numerica" per gli interi.
Qui sorge il problema, non posso passare a qsort l'array di puntatori a schede, quindi devo accedere ad ogni singola scheda mediante un ciclo sull'array di puntatori, andare a prendere il campo specificato dal parametro c, e ordinare i puntatori in base al campo...Tuttavia non ho la minima idea di come possa fare! Qualcuno ha qualche suggerimento da darmi? Sono 2 giorni che sono bloccato su questa funzione
Grazie in anticipo!
EDIT: dimenticavo, n è il numero di schede, e quindi di puntatori, presenti nell'array.