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