tengo una matriz de 6x6, que el numero 1 lo ingreso en matriz[0][0]='1', y luego quiero ingresarlo en una nueva fila y columna(lo voy a cambiar una cierta cantidad de veces) y quiero que se borre el 1 anterior y se guarde en la nueva fila y columna de la misma matriz.
Para mover la pieza del jugador basta con sobrescribir la casilla actual con el indicador correcto (no lo indicas, bien puede ser un espacio) y escribir el carácter '1' en la nueva posición.
Lo mejor por sencillo es almacenar la posición actual y nueva del jugador en variables, con ello el fragmento termina, mas o menos, así:
if (matriz[fila][columna]=='2' || matriz[fila][columna]=='*'){
printf("Jugador 1 se matiene en posicion\n"); } else { //para mover el 1 de posicion
/*
** 1) Se libera la posicion actual
** j1_fila == Jugador 1 posicion actual, fila
** j1_col == Jugador 1 posicion actual, columna
*/
matriz[j1_fila][j1_col] = ' ';
/* 2) Se coloca al jugador 1 en su nueva posicion */
matriz[fila][columna] = '1';
/* 3) Se toma nota de la nueva posicion */
j1_fila = fila;
j1_col = columna;
}
Si no es posible por alguna razón (por ejemplo por los requisitos del enunciado) entonces hay que utilizar un par de bucles anidados para buscar el carácter que indique al jugador uno, sobrescribirlo con un espacio y colocar en la nueva posición un '1'.
Un saludo