Sudoku
Hola!
Os paso la parte mĂĄs demandada. Espero que os resulte Ăștil. El programa estĂĄ pensado para un tablero formado por una matriz cuadrada variable desde 1x1 hasta 9x9.
Saludos
int reglas(int elem, int tab, int sub, int filsel, int colsel)
{
int f, c, filsub, colsub, subtot;
subtot=tab/sub; // NĂșmero de filas y columnas que hay en cada subtablero.
for (c=0;c<tab;c++) // Busqueda de coincidencia en la fila seleccionada.
{
if (matriz[filsel][c]==elem) // Mensaje de error.
{
printf(\"\\n\\n El elemento no se anhadira al tablero porque no cumple las reglas del juego.\\n\");
printf(\"\\n Ya existe el numero %d en esa fila.\\n\\n\\n \", elem);
system(\"PAUSE\");
return; // Vuelve a la lĂnea de la llamada.
}
}
for (f=0;f<tab;f++) // Busqueda de coincidencia en la columna seleccionada.
{
if (matriz[f][colsel]==elem) // Mensaje de error.
{
printf(\"\\n\\n El elemento no se anhadira al tablero porque no cumple las reglas del juego.\\n\");
printf(\"\\n Ya existe el numero %d en esa columna.\\n\\n\\n \", elem);
system(\"PAUSE\");
return; // Vuelve a la lĂnea de la llamada.
}
}
filsub=filsel/subtot; // Para saber en que subtablero estoy situado.
colsub=colsel/subtot;
for (f=filsub*subtot;f<filsub*subtot+subtot;f++)
{ // Desde la primera fila del subtablero hasta la Ășltima.
for (c=colsub*subtot;c<colsub*subtot+subtot;c++)
{ // Desde la primera columna del subtablero hasta la Ășltima.
if (matriz[f][c]==elem) // Mensaje de error.
{
printf(\"\\n\\n El elemento no se anhadira al tablero porque no cumple las reglas del juego.\\n\");
printf(\"\\n Ya existe el numero %d en ese subtablero.\\n\\n\\n \", elem);
system(\"PAUSE\");
return; // Vuelve a la lĂnea de la llamada.
}
}
}
matriz[filsel][colsel]=elem; // Paso el elemento a la matriz si cumple las reglas.
}
Os paso la parte mĂĄs demandada. Espero que os resulte Ăștil. El programa estĂĄ pensado para un tablero formado por una matriz cuadrada variable desde 1x1 hasta 9x9.
Saludos
int reglas(int elem, int tab, int sub, int filsel, int colsel)
{
int f, c, filsub, colsub, subtot;
subtot=tab/sub; // NĂșmero de filas y columnas que hay en cada subtablero.
for (c=0;c<tab;c++) // Busqueda de coincidencia en la fila seleccionada.
{
if (matriz[filsel][c]==elem) // Mensaje de error.
{
printf(\"\\n\\n El elemento no se anhadira al tablero porque no cumple las reglas del juego.\\n\");
printf(\"\\n Ya existe el numero %d en esa fila.\\n\\n\\n \", elem);
system(\"PAUSE\");
return; // Vuelve a la lĂnea de la llamada.
}
}
for (f=0;f<tab;f++) // Busqueda de coincidencia en la columna seleccionada.
{
if (matriz[f][colsel]==elem) // Mensaje de error.
{
printf(\"\\n\\n El elemento no se anhadira al tablero porque no cumple las reglas del juego.\\n\");
printf(\"\\n Ya existe el numero %d en esa columna.\\n\\n\\n \", elem);
system(\"PAUSE\");
return; // Vuelve a la lĂnea de la llamada.
}
}
filsub=filsel/subtot; // Para saber en que subtablero estoy situado.
colsub=colsel/subtot;
for (f=filsub*subtot;f<filsub*subtot+subtot;f++)
{ // Desde la primera fila del subtablero hasta la Ășltima.
for (c=colsub*subtot;c<colsub*subtot+subtot;c++)
{ // Desde la primera columna del subtablero hasta la Ășltima.
if (matriz[f][c]==elem) // Mensaje de error.
{
printf(\"\\n\\n El elemento no se anhadira al tablero porque no cumple las reglas del juego.\\n\");
printf(\"\\n Ya existe el numero %d en ese subtablero.\\n\\n\\n \", elem);
system(\"PAUSE\");
return; // Vuelve a la lĂnea de la llamada.
}
}
}
matriz[filsel][colsel]=elem; // Paso el elemento a la matriz si cumple las reglas.
}
Sale un poco chungo. No sé q pasa con las comillas.
Quien lo necesite que me escriba y se lo paso por correo.
Saludos
Quien lo necesite que me escriba y se lo paso por correo.
Saludos
men pofa MANDAME EL CODIGO
Y POR CASULIDAD SBAES COMO HACER QUE EN EL BUSCAMINAS UNA CASILLA SE EXPANDA CON SUS VECINAS OSEA QUE ABRA MUCHAS MAS AL ABRIR ESTA
Y POR CASULIDAD SBAES COMO HACER QUE EN EL BUSCAMINAS UNA CASILLA SE EXPANDA CON SUS VECINAS OSEA QUE ABRA MUCHAS MAS AL ABRIR ESTA
