Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/11/2014, 16:09
Avatar de leosansan
leosansan
 
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: Sudoku en borland c++

Cita:
Iniciado por amchacon Ver Mensaje
¿Sudoku? Te refieres a resolverlo o a una interfaz para jugarlo?

Para resolverlo hay un algoritmo muy mono:
.................................................
Con ese algoritmo me hize programitas que resolvía sudokus en menos de un segundo, suerte ^^


A pesar de mis más de treinta años dedicado a la Enseñanza Superior me sigo emocionando viendo explicaciones tan claras, concisas y precisas. Tan sólo le queda a elturco_94 ponerlas en practica y que pregunte si se "atora" en algún punto.

Respecto a tu código me queda la duda de si es como esos que circulan por Internet, cosa que viniendo del gran amhacon lo dudo, consistentes en "bambolear"
ternas de números de una línea a otra, vamos algo como:

Código C++:
Ver original
  1. *********************************************************
  2.   5    4    6    *      1    2    3    *      7    8    9
  3.   8    7    9    *      4    5    6    *      1    2    3
  4.   2    1    3    *      7    8    9    *      4    5    6
  5.  *********************************************************
  6.   6    5    7    *      2    3    4    *      8    9    1
  7.   9    8    1    *      5    6    7    *      2    3    4
  8.   3    2    4    *      8    9    1    *      5    6    7
  9.  *********************************************************
  10.   7    6    8    *      3    4    5    *      9    1    2
  11.   1    9    2    *      6    7    8    *      3    4    5
  12.   4    3    5    *      9    1    2    *      6    7    8
  13.  *********************************************************

Donde se ve que se repiten series de números en filas y/o en columnas, o es acaso de tipo "más aleatorio", de esos que no hay por donde cogerlos:

Código C++:
Ver original
  1. *****************************************************
  2.     5    8    9    *    3    4    6    *    7    2    1
  3.     4    6    7    *    1    2    9    *    8    3    5
  4.     3    1    2    *    8    5    7    *    9    4    6
  5.    *****************************************************
  6.     1    5    4    *    9    3    8    *    6    7    2
  7.     7    3    6    *    2    1    4    *    5    9    8
  8.     9    2    8    *    7    6    5    *    4    1    3
  9.    *****************************************************
  10.     6    4    3    *    5    7    2    *    1    8    9
  11.     8    7    1    *    6    9    3    *    2    5    4
  12.     2    9    5    *    4    8    1    *    3    6    7
  13.    *****************************************************
  14.  
  15. Process returned 0 (0x0)   execution time : 0.050 s
  16. Press any key to continue.

Ha sido un cosa rapidita pero funcional, todo se andará en su mejora.

Y para que vayan abriendo el apetito nada mejor que un par de Sudokus para resolver. ¿ Se animan?, los he preparado sencillitos con muchos números al descubierto para que no se desanimen....pero un poco más complejos:

Código C++:
Ver original
  1. ********************************************************************************************
  2.    14    #    5    #    *    2    #    8    1    *   16    #    #    #    *    #   10    #   12
  3.    13   11    3    #    *   10    #   12    6    *    #    5    #    #    *    #    #    #   15
  4.     8    #    #    #    *    #    #   11    #    *   13   12    #    #    *   16    #    #    2
  5.     #    2    1    #    *   16    #    3    #    *    9    #    #    #    *   11    5    8    #
  6.    ********************************************************************************************
  7.    10    3   15    #    *    #    1    7   16    *    #    9    #    #    *   12    8    #    6
  8.     #    6   16    9    *    #    #    #    #    *    5    3    4    #    *    1   14   10    #
  9.    12    #    8   14    *    4    #    5    #    *   10    #    #    #    *    2    #   11    #
  10.     2    7    4    #    *   12    9    #   10    *   15   11    8    #    *    #    #    5    #
  11.    ********************************************************************************************
  12.     9    #    #    #    *   14    #    #    5    *    7   13    #    #    *   15   11    #    1
  13.     3   15    #    #    *    #   11   10    #    *    4    6    9    #    *    5    #    #    8
  14.     #   12   13    #    *    #    #    6    #    *   11    #    #    5    *    9    #    #    #
  15.     #    #   11    #    *    #    #    9   15    *   14    8   12    3    *    #    #    #    #
  16.    ********************************************************************************************
  17.     #   14    #    #    *    6    5   15    #    *    #   10    #   13    *    4    9    2    #
  18.     #    1    2    4    *    #   10    #   11    *   12   15   14    7    *    #    #    #    #
  19.    15    #    9   13    *    #    #    #    #    *    6    2    5   11    *    #    #    #   14
  20.     #    #   12   11    *    8    2   13   14    *    3    4   16    9    *    7    1   15    5
  21.    ********************************************************************************************
  22. Process returned 0 (0x0)   execution time : 1.239 s
  23. Press any key to continue.

En el que viene te "aconsejo estirar" la ventana del navegador para verlo de forma correcta:

Código C++:
Ver original
  1. ************************************************************************************************************************************
  2.    11    #    #    #    #    #    *    8    #   24    #    #    #    *    #   22    #   18   21    #    *   20   17    #    #   16    7
  3.     #    #    #    #    #    8    *    #   11   10    #   12    #    *    #    #    #   19   24   13    *    3    4    #   18    #    5
  4.     5    #    #    #    #    3    *    #    #    #    #    #    #    *    #    #    #    #    #    #    *    #    #    8    #    #    #
  5.     #   24    #   17    #    #    *    5    #    #    #    #    #    *    #   11    #    #    7    #    *   23   21    #    #    #    #
  6.    ************************************************************************************************************************************
  7.     #   19    #   20    #    #    *    #   24    #    #    #    #    *    #   21    #    9    #    #    *   16    3    #    #    #    #
  8.     #    #   24    #   17    #    *    #   10   19   13    2    #    *    #    #    #    3    #    #    *    #    #    1    #    #    #
  9.     #    #    #    #   22    9    *   17    #    3    1    #    #    *    #    #   12    #    #    #    *    #    #    #   15    #   18
  10.     #   21    3    1    #   18    *   23    #    #    #    #    #    *    #    5    #   15    #    #    *    #    #    #    #    #   14
  11.    ************************************************************************************************************************************
  12.    18    #    #    #   12   14    *    #   21    7    #    #    #    *   10    #    5    #    #    #    *    #   22   11   20    #    1
  13.     #    #    #    #   11    #    *   20    #   17    #    #   23    *    #    #    #    #   14    #    *    #    9    #    #    #   10
  14.     7    #    1    6    #   19    *    4    8    #   18    #    #    *    #    #   11    #    #    #    *   13    #    #    #    #    #
  15.     9    #   17    #    #    #    *   10    #   22    #   14    #    *    #    #    #   13    #    #    *    #    7    #    #    #   23
  16.    ************************************************************************************************************************************
  17.     #    #   16   11    #    #    *    #    #    #    #    #    5    *    #    6    #    #   12    #    *   21    #    #    #    #    #
  18.    23   14    9    #   21    #    *    #    2   15    3    1    #    *    #    #    7    #    #    #    *    #    #   20    #   10    #
  19.     #    #    #    #    5    #    *   11    #    #    #    #   19    *    #    2   23    #    #   15    *    #    1    #    #    #   22
  20.     #    4    #    #    #   15    *    6   18   23    #   22   14    *    5    3   21   16   13    1    *   12    2   19   11    9   17
  21.    ************************************************************************************************************************************
  22. Process returned 0 (0x0)   execution time : 3.056 s
  23. Press any key to continue.

Espero que sirva de relax entre tanto código.

Y las soluciones en próximos días.

¡¡¡Saluditos!!!


Última edición por leosansan; 25/11/2014 a las 16:14