si esatto deve contare i doppi e stamparli, ho provato a implementare la tua parte di programma ma mi da errore(crasha)
codice:
#include <stdio.h>
#define MAXM 20
#define MAXN 20
#define MAX 50
int main()
{
char contatore[MAX+1]={0};
char stampato=0;
int i,j,r,c,errore;
int a[MAXM][MAXN];
printf("inserisci il numero di righe : ");
scanf("%d",&r);
printf("\ninserisci il numero di colonne : ");
scanf("%d",&c);
for (i=0; i<r; i++){
for (j=0; j<c; j++){
printf("a[%d][%d] = ",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
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 %d comapre %d volte\n", i, contatore[i]);
stampato=1;
}
if(stampato)printf("Nessun valore compare più d'una volta\n");
getch();
return 0;
}