Ciao...ma devi per forza eliminare gli elementi uguali durante l'ordinamento?!?...perchè io avevo pensato che si poteva benissimo farlo subito dopo sempre nella funzione del selection sort (sempre che mi sono ricordato come si faccia...io uso sempre il bouble sort!!)...comunque basta fare dei piccoli shift sul vettore...e elimini i doppioni....guarda io metto il codice...poi se nn ti è utile pazienza...tanto è stato un esercizio anche per me...anche io sono alle prime armi...ciao
(se potete anche darmi un aiuto a come mettere il codice per la prox volta) ciao...
void selectionsort(int *a, int *size)
{
int i, j, min, tmp;
for(i = 0; i < *size - 1; ++i) {
min = i;
for(j = i + 1; j < *size; ++j) {
if (a[j] < a[min]) {
tmp = a[min];
a[min] = a[j];
a[j] = tmp;
}
}
}
for ( i=0; i<*size-1; i++ ) {
if ( a[i] == a[i+1] ) {
for ( j=i+1; j<*size-1; j++ ) {
a[j] = a[j+1];
}
(*size)--;
}
}
}