Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Mover fichas de un tablero

Estas en el tema de Mover fichas de un tablero en el foro de C/C++ en Foros del Web. Hola de nuevo :) ! He hecho un procedimiento que mueva fichas hacia la derecha basándome en un array bidimensional de dimensión 4x4. Lo he ...
  #1 (permalink)  
Antiguo 08/03/2015, 04:13
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 8 meses
Puntos: 0
Busqueda Mover fichas de un tablero

Hola de nuevo :) !
He hecho un procedimiento que mueva fichas hacia la derecha basándome en un array bidimensional de dimensión 4x4. Lo he probado y me funciona pero solo en el caso de las filas 0 y 1 ,en las filas 2 y 3 no .He estado pensando y no encuentro mi error ,podrían ayudarme :) ?

el orden de las filas y columnas va así :
columna: 0 1 2 3
fila 0
fila 1
fila 2
fila 3

Este es mi código :
Código C++:
Ver original
  1. void moverDerecha(tTablero tablero){
  2.  
  3.     bool encontradoValor = false;
  4.  
  5.     for(int fila = 0; fila < N;fila++){
  6.         for(int col = N -1; col > 0; col--){    //El movimiento se realiza de la columna 3 hasta la columna 1.
  7.             if( tablero[fila][col] == VACIO ){  //Si la celda está vacía...
  8.                 int j = col -1; //Entramos en la celda de la columna anterior pero misma fila.
  9.                 while( (j >= 0) && (!encontradoValor) ){    //Mientras no se haya encontrado un valor(!= VACIO) y no se haya llegado hasta la columna 0.
  10.                     if(tablero[fila][j] != VACIO){  //Si la celda de la columna anterior pero misma fila tiene un dato distinto de VACIO...
  11.                         encontradoValor = true;
  12.                         //Intercambio los valores:
  13.                         tablero[fila][col] = tablero[fila][j];
  14.                         tablero[fila][j] = VACIO;
  15.                     }
  16.                     else{   //Paso a analizar si la columna anterior en la misma fila tiene un dato distinto de VACIO.
  17.                         j--;
  18.                     }
  19.                 }
  20.             }
  21.         }
  22.     }
  23. }
  #2 (permalink)  
Antiguo 08/03/2015, 05:04
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mover fichas de un tablero

Hola; si pones el enunciado completo del problema, más que probablemente algún entusiasta de la tarea ajena lo resuelva completamente por ti. Pero, mientras tanto, yo sólo puedo sugerirte que uses un "debugger", que leas de qué se trata, y si estás compilando desde algún "IDE", veas cómo usarlo, que es muy fácil y te va a ayudar notablemente a encontrar esta respuesta y muchas otras. Si no sientes mayor curiosidad por la programación C++, que es algo completamente razonable, pon el enunciado completo y espera unos minutos :)
  #3 (permalink)  
Antiguo 08/03/2015, 05:11
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Mover fichas de un tablero

Ahora estoy con otras funciones pero voy a depurarlo paso a paso ,es la última opción :D .Gracias,Lareto :)
  #4 (permalink)  
Antiguo 10/03/2015, 12:35
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Mover fichas de un tablero

Al final,encontré solucionar el error :)
Entre las líneas 6 y 7,me faltaba añadir esto: encontradoValor = false;

Etiquetas: fichas, funcion, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:49.