No he podido probar el código por falta de tiempo pero suponiendo que los límites de tus matrices sean
p y
q, bastaría con un par de comprobaciones:
Código:
for (int i=0;i<=p;i++){
for (int j=0;j<=q;j++){
if (mat[i][j]==mat[i][2] || mat[i][j]==mat[2][j]){
mat[i][j]=1;
}
if (mat[i][j]==mat[p-1][q] || mat[i][j]==mat[p][q-1]){
mat[i][j]=1;
}
}
}
Tiene un tiempo que no programo en c++, pero pasando por alto mis posibles errores de sintaxis, la lógica del programa (si no puse mal algo), debería poder hacer lo que pides