tarea sudoku sin terminar
Publicado por Monchita (9 intervenciones) el 19/10/2012 20:26:54
Hola soy estudiante de facultad de Quimica y me inscribi en Programacion por creditos y se me complica un poco agarrarle la mano, yo debo entregar un trabajo pa el lunes que conste como de 3 funciones:
function SudokuCorrecto(tablero: TipoTablero) : boolean;
{ retorna true si los valores asignados respetan las reglas de buena formación }
function SudokuResuelto(tablero: TipoTablero) : boolean;
{ retorna true si es correcto y no hay celdas vacías }
procedure CrearCandidatos(tablero: TipoTablero; var candidatos: TipoCandidatos);
{ obtiene el conjunto de candidatos inicial para todas las celdas }
Para el sudoku y en lo que pude hacer me gustaria que m corriguieran si es posible:
Para leer columna tambien lo realize es casi lo mismo, ahora mi problema es q debe me falta la funcion para verificar celdas vacias y posibles candidatos y aca si que me tranque feo jeje, les agradeceria cualquier ayudita. Saludos
function SudokuCorrecto(tablero: TipoTablero) : boolean;
{ retorna true si los valores asignados respetan las reglas de buena formación }
function SudokuResuelto(tablero: TipoTablero) : boolean;
{ retorna true si es correcto y no hay celdas vacías }
procedure CrearCandidatos(tablero: TipoTablero; var candidatos: TipoCandidatos);
{ obtiene el conjunto de candidatos inicial para todas las celdas }
Para el sudoku y en lo que pude hacer me gustaria que m corriguieran si es posible:
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
function verificar_fila(tablero:tipotablero,i1,j1:integer):boolean;
var
valor:digito;
i,j:integer;
encontre:boolean;
begin
j:=1;
encontre:=false;
while j<9 and not(encontre) then
begin
if valor=tablero(i,j) then
if i<>i1 or j<>j1 then
encontre:=true
j:=j+1;
end;
verifica_fila:=not(encontre);
end.
begin
i:=1;
j:=1;
while j < 9 and not(encontre) then
begin
while i < 9 and not(encontre) then
begin
if tablero(i,j)<>'0' then
encontre:=verificar_fila(tablero,i,j);
if encontre then
end;
i:=i+1;
end;
j:=j+1;
end;
Para leer columna tambien lo realize es casi lo mismo, ahora mi problema es q debe me falta la funcion para verificar celdas vacias y posibles candidatos y aca si que me tranque feo jeje, les agradeceria cualquier ayudita. Saludos
Valora esta pregunta


0