Acc, siamo riusciti a scrivere il post nello stesso momento...i tuoi suggerimenti sono stati utilissimi, ho un solo problema: Le funzioni richieste sono tutte puntatori a puntatori...ti scrivo il codice :
codice:
char **leggi_stringhe(int n){
     int i;
     char **p=(char **)malloc(n*sizeof(char*));
     char *s=(char *)malloc(sizeof(char)*80);
     
     for(i=0;i<n;i++){
        printf("Stringa n. %d: ",i+1);
        scanf("%s",s);    
        p[i]=(char *)malloc(sizeof(char)*strlen(s));
        p[i]=strdup(s);
     }

     free(s);

          return p;
     }

void selsort(char **begin, char **end){ 

     for(;begin<end;begin++){
        swap(begin, pos_min(begin,end));
  
}

char **pos_min(char **begin, char **end){

       
     char **res;
     char **w;
     char **app;
     res = begin+1;

     for (w=begin; w<end; w++){
         if (strcmp(*w, *res)< 0)
             res=w;
         
    }
          
     return res;
     
}

void swap(char **a, char **b){
    
     char **papp;
     papp=a;
     a=b;
     b=papp;
     printf("SCAMBIO : %s - %s\n",*a,*b);

     }
     
void stampa_stringhe(char **t, int n){
     int i;
     for(i=0;i<n;i++)
        printf("%s",t[i]);
        
}

void elimina(char **p, int n){
     int i;
     for(i=0;i<n;i++)
     free(p[i]);
     free(p);
}

int main(void)
{
char **v;
int n;
printf("Numero di stringhe da ordinare: ");
scanf("%d", &n);
v=leggi_stringhe(n);
if( v!=NULL ) {
selsort(v,v+n-1); // Ordina
printf( "\nVettore ordinato:\n" );
stampa_stringhe(v,n); // Stampa
elimina(v,n); // Libera la memoria
}
else printf( "Input fallito." );
system("PAUSE");
}
L'unico problema che ho è che la funzione SWAP scambia correttamente le due stringhe ma, tornando alla funzione chiamante (selsort), le due stringhe tornano ad essere nelle posizioni iniziali. La cosa non è strana?
Cioé, se io inserisco 's' e poi 'a', swap le scambia (e infatti la printf lo dimostra), ma tornati al selsort, 's' torna ad essere in prima posizione e 'a' in seconda.


Grazie ancora, sei gentilissimo! Buona domenica anche a te