Intanto togli quel system("pause")...

Cosi' ad occhio mi sembra che l'efficientissimo selection sort sia scritto correttamente.

P.S.: faresti meglio a creare (Cosi' come ti ha detto il prof) una procedura void selection (int a[], int n ) che poi chiamerai come piu' credi opportuno dal main del programma (Passandogli i parametri letti da STDIN).
Nella procedura potrai quindi "isolare" l'algoritmo vero e proprio mentre l'interazione con STDIN e la visualizzazione del vettore su STDOUT verranno effettuae, appunto, nel main.