Sudoku
Publicado por Novato (11 intervenciones) el 03/12/2019 22:26:08
Pues he creado dos matrices, una con los valores definidos, y otra con la solución. Mi idea es compararlas y que me diga si está completado.
Voy sustituyendo los valores de la matriz definida, para que sea igual a la compleja, en este caso solo tengo que rellenar la fila 8, la columna 2, para que sea más fácil de comprobar.
Pero me falla, a ver si me podeis echar una ayudita
Voy sustituyendo los valores de la matriz definida, para que sea igual a la compleja, en este caso solo tengo que rellenar la fila 8, la columna 2, para que sea más fácil de comprobar.
Pero me falla, a ver si me podeis echar una ayudita
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package Control;
import Vista.Consola;
public class Sudoku {
private Consola consola;
private final int Fila = 9;
private final int Columna = 9;
private int[][] miMatriz = new int[Fila][Columna];
//Constructor
public Sudoku() {
consola = new Consola();
fijarValores();
mostrarMatriz();
pedirDatos();
}
public void fijarValores() {
miMatriz[0][0]=3; miMatriz[1][2]=6; miMatriz[1][4]=3; miMatriz[0][6]=5; miMatriz[2][8]=1;
miMatriz[1][0]=4; miMatriz[3][2]=2; miMatriz[2][4]=7; miMatriz[6][6]=2; miMatriz[3][8]=4;
miMatriz[6][0]=9; miMatriz[6][2]=3; miMatriz[5][4]=2; miMatriz[8][6]=7; miMatriz[8][8]=9;
miMatriz[7][0]=6; miMatriz[7][2]=7; miMatriz[8][4]=4; miMatriz[1][6]=9; miMatriz[0][8]=6;
miMatriz[2][0]=2; miMatriz[0][2]=1; miMatriz[0][4]=8; miMatriz[2][6]=8; miMatriz[1][8]=2;
miMatriz[3][0]=7; miMatriz[2][2]=5; miMatriz[3][4]=9; miMatriz[3][6]=1; miMatriz[4][8]=7;
miMatriz[4][0]=8; miMatriz[4][2]=9; miMatriz[4][4]=1; miMatriz[4][6]=3; miMatriz[5][8]=8;
miMatriz[5][0]=5; miMatriz[5][2]=4; miMatriz[6][4]=6; miMatriz[5][6]=6; miMatriz[6][8]=5;
miMatriz[8][0]=1; miMatriz[8][2]=8; miMatriz[7][4]=5; miMatriz[7][6]=4; miMatriz[7][8]=3;
miMatriz[1][1]=8; miMatriz[1][3]=1; miMatriz[2][5]=6; miMatriz[0][7]=4;
miMatriz[3][1]=3; miMatriz[5][3]=7; miMatriz[3][5]=8; miMatriz[2][7]=3;
miMatriz[4][1]=6; miMatriz[0][3]=2; miMatriz[5][5]=3; miMatriz[4][7]=2;
miMatriz[5][1]=1; miMatriz[2][3]=4; miMatriz[8][5]=2; miMatriz[6][7]=1;
miMatriz[6][1]=4; miMatriz[3][3]=6; miMatriz[0][5]=9; miMatriz[1][7]=7;
miMatriz[7][7]=8; miMatriz[4][3]=5; miMatriz[1][5]=5; miMatriz[3][7]=5;
miMatriz[0][1]=7; miMatriz[6][3]=8; miMatriz[4][5]=4; miMatriz[5][7]=9;
miMatriz[2][1]=9; miMatriz[7][3]=9; miMatriz[6][5]=7; miMatriz[8][7]=6;
miMatriz[7][1]=2; miMatriz[8][3]=3; miMatriz[7][5]=1;
}
public void mostrarMatriz (){
for(int i=0;i<miMatriz.length;i++) {
for(int j=0;j<miMatriz[i].length;j++) {
consola.EscribeEnLinea(miMatriz[i][j]);
consola.EscribeEnLinea("\t");
}
consola.EscribeEnLinea("\n");
}
}
public void pedirDatos() {
int[][] Solucion={
{3, 7, 1, 2, 8, 9, 5, 4, 6},
{4, 8, 6, 1, 3, 5, 9, 7, 2},
{2, 9, 5, 4, 7, 6, 8, 3, 1},
{7, 3, 2, 6, 9, 8, 1, 5, 4},
{8, 6, 9, 5, 1, 4, 3, 2, 7},
{5, 1, 4, 7, 2, 3, 6, 9, 8},
{9, 4, 3, 8, 6, 7, 2, 1, 5},
{6, 2, 7, 9, 5, 1, 4, 8, 3},
{1, 5, 8, 3, 4, 2, 7, 6, 9},
};
consola.Escribe("");
consola.Escribe("BIENVENIDO AL JUEGO DE SUDOKU");
int fila = Fila;
int columna = Columna;
do {
fila = Integer.parseInt(consola.IntroduceCadena("Introduce fila: "));
columna = Integer.parseInt(consola.IntroduceCadena("Introduce Columna: "));
miMatriz[fila][columna]= consola.IntroduceNumero();
for(int i=0;i<miMatriz.length;i++) {
for(int j=0;j<miMatriz[i].length;j++) {
consola.EscribeEnLinea(miMatriz[i][j]);
consola.EscribeEnLinea("\t");
}
consola.EscribeEnLinea("\n");
}
}while(miMatriz==Solucion);
consola.Escribe(" ");
consola.Escribe("ENHORABUENA, HAS COMPLETADO EL SUDOKU");
}
}
Valora esta pregunta


0