Programación General > Pascal
Resolver Sudoku
Ocean Soul:
Bueno, el tda lista que incluyo en el archivo para descargar (tdaLista) es el que siempre uso... porloque no tiene ningun error. Si queres podes fijarte... veras que no hace nada del otro mundo...
Ademas, ya ni se... se me estan llendo las ganas de seguir terminando el programa... :( yo queria terminarlo; ademas hace poco se me habia ocurrido otra idea que se basaba en suposiciones, para resolver el sudoku, bueno: no se...
toy depre... :unsure:
Ocean Soul:
Ahora que lo pienso, talvez el pascal que yo tengo anda mal... saben de donde puedo bajarme uno que ande completamente bien?
Enko:
--- Cita de: "Ocean Soul" --- Ahora que lo pienso, talvez el pascal que yo tengo anda mal... saben de donde puedo bajarme uno que ande completamente bien?
--- Fin de la cita ---
Supongo que tienes Turbo Pascal 7.... para la época que etamos, es horrible....
una alternativa es el Free Pascal (es mucho mejor, yo nunca lo usé, bua... tomando en cuanta que hace años que no tengo el TP :P)
http://www.freepascal.org/download.html
Además viene con la misma IDE.
Ocean Soul:
Yo tengo el Free Pascal pero me parece mas horrible que pascal. Talvez vos no sepas: Un dia compile y ejecute un programa (largo) donde una variable, que no me di cuenta, no estaba declarada (era un simple entero). Ademas en el programa del sudoku en free pascal se corta mucho antes. Todo es muy raro... :blink:
Amilius:
--- Cita de: "Ocean Soul" --- Yo uso turbo pascal 7 (Tambien intente con free pascal, pero sucede lo mismo). Todo el TDA Lista me lo dieron en la universidad, igual yo lo verifique denuevo, y para mi esta todo bien...
Que problema!
Aca les dejo el codigo de la lista en el procedimiento que me sale el error, quien sabe, talvez si hay un error....
--- Código: Text --- TipoPosicion=Integer; PtrLista=^NodoLista; NodoLista=Record Elem:TelemC; sig:PtrLista; end; Lista=Record List:PtrLista; Long:Integer; end; Procedure VaciarLista(Var L:lista);vartemp:ptrLista;Begin while (L.Long>0) and (L.List<>nil) do Begin temp:=L.List; L.List:=L.List^.sig; EliminarElemC(Temp^.Elem); dec(L.Long); dispose(temp); end; L.long:=0; L.List:=NIL;end;
--- Fin de la cita ---
Esta parte no me convence... hace que un algoritmo que debería ser simple sea demasiado complicado de seguir: :P Imagínate lo que pasaría si el algoritmo sería más complicado...
temp:=L.List;
L.List:=L.List^.sig;
...
dec(L.Long);
Además los nombres que le pusistes a los tipos y variables no son buenos, eventualmente poner esos nombres cortos y no muy descriptivos sólo dan dolor de cabeza. :P
--- Código: Text --- TPosicion=Integer; PElementoDeLista=^TElementoDeLista; TElementoDeLista=Record DatosDeElemento:TDatosDeElemento; SiguienteElemento:PElementoDeLista; end; TLista=Record PrimerElemento:PElementoDeLista; NumeroDeElementos:Integer; end;
Puede parecer incomodo pero evita dolores de cabeza con los bugs.
Intenta modificando el codigo para que se parezca a esto:
--- Código: Text --- actual := L.PrimerElemento;while actual<>nilbegin siguiente := actual.siguiente;... borrar "actual"... actual:=siguiente;end;
Navegación
[*] Página Anterior
Ir a la versión completa