Allora potresti utilizzare un vettore di supporto per trovare tutti gli elementi DISTINTI della matrice. Provo a fartelo capire con una matrice 2x2 per semplicità:
2 2
1 3
Con due cicli for ti scorri la matrice. Prendi il primo numero e lo inserisci nel vettore di supporto (nel mio esempio 2 e vettore = [2]). Durante la seconda iterazione viene preso di nuovo 2, controlli prima se è presente nel vettore di supporto, se è presente fai la sostituzione che devi fare, altrimenti lo inserisci nel vettore di supporto e vai avanti (nel mio esempio è presente, quindi dovrebbe essere sostituito). Nella terza iterazione viene preso 1 e si controlla se è presente, in questo caso non è presente quindi viene inserito nel vettore che diventa [2,1]. Nella quarta e ultima iterazione viene preso 3, stesso discorso precedente quindi il vettore di supporto sarebbe [2,1,3] e il tuo programma dovrebbe aver sostituito gli elementi doppi.
Ho cercato di spiegarti la logica, però non so se devi usare una matrice nuovo o sempre la stessa e con cosa sostituire gli elementi doppi. Ma sono cose superflue che non cambiano la logica dell'esercizio.