数字を指定された範囲内でランダムに発生させ、select_sortで小さい順に並べるプログラムを作成しています。配列のプログラムは作成できたのですが、それをポインタやレジスタにする方法がわかりません。
下記に示すのがそのプログラムです:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 800000
#define RandMax 1000

void select_sort(int a[], int n){ /*ランダムで発生した数字を小さい順に並べ替える*/
    int i, j, min, t;
    for (i=0; i<n; i++){
        min = i;
        for(j=i+1; j<n; j++)
        if (a[j] < a[min])
        min = j;
        t = a[min];
        a[min] = a[i];
        a[i] = t;
    }
}

int main(){
    int a[MAX], i;

    srand((unsigned)time(NULL));
    for(i = 0; i < MAX; i++)
    a[i] = rand()%RandMax;
    for  (i=0; i<1000; i++){
        select_sort(a, MAX);
    }

    printf("data size = %d\n", MAX);

    /*for(i = 0; i < MAX; i++){
        printf("%5d", a[i]);
        if (i%10 == 9)
        printf("\n");
    }*/
}

void select_sortから下のfor文を書き換えればできるとのことですが、どう書き換えればいいのかわかりません。教えてください。

例文として、配列

#include <stdio.h> 
#include <stdlib.h>
int main(){
    int a[10], i, max;
    for(i=0; i<10; i++) a[i]=rand()%100; 
    max=0;
    for(i=1; i<10; i++){
        if(a[max] < a[i])
    max=i; 
    }
for(i=0; i<10; i++) 
    printf("a[%d]= %d \n", i, a[i]);
    printf("max = %d, a[max]=%d \n", max, a[max]);
}

を以下のポインタのように書き換えれば、一つ目のプログラムも実行可能との指示を受けました。

#include <stdio.h>
#include <stdlib.h>
int main(){
    int a[10];
    int *i;
    int *max;
    int *last;
    last=a+10;
    for(i=a; i<last; i++)*i = rand()%100;
    max=a;
    for (i=a; i<last; i++){
        if(*max<*i)
        max=i;
    }
    for (i=a; i<last; i++)
    printf("a[%ld]=%d \n", i-a, *i);
    printf("max=%ld, a[max]=%d \n", max-a, *max);
}