io invece ho fatto in questo modo:
ho creato la struct "pixel" formata da 2 int, x e y.
ho fatto una funzione che prendesse il mio array con tutti i valori e che me ne creasse uno di dimensioni dimezzate formato tutte da struct pixel.
Poi ho modificato la merge affinche' mi facesse il confronto solo delle x durante il procedimento di ordinamento.

Ora avrei un altro problema: devo interopolare questi pixel.... diciamo che di ogni 3 devo trovarne quello medio.Fin qui nessun problema penso.... basta fare la media aritmetica delle 3 x e delle 3 y per ottenere la nuova X e Y .... ma mi chiedevo se cè anche il discorso dell'errore...
qualcuno sa qualcosa a riguardo??

grazie