se non ho capito male il programma deve guardare se ci sono valori che si ripetono del corso della matrice, se è così stampa il contenuto della matrice e le corrispondenze.
codice:
char contatore[MAX+1];
char stampato=0;
int main()
{
...
for(i=0; i<MAXM; i++)
for(j=0; i<MAXN; j++)
contatore[a[i][j]]++;
for(i=0; i<r; i++){
for (j=0; j<c; j++)
printf("%3d",a[i][j]);
printf("\n");
}
for(i=0; i<=MAX; i++)
if(contatore[i]>1)
{
printf("Il numero %i comapre %d volte\n", i, contatore[i]);
stampato=1;
}
if(stampato)printf("Nessun valore compare più d'una volta\n");
getch();
return 0;
}