hi
nein nicht wirklich!!!
Ich find das super lieb das du dir die mühe gemacht hast aber groß weitergeholfen hat es mir nicht
was das programm im großen und ganzen macht ist mir schon klar aber im großen und ganzen hat es mir leider auch nich viel geholfen
Leider hat es mich nicht weiter gebracht ein Sudoku-lösungrogramm rekursiv zu lösen
ich habe die überprüfung jetzt anders gelößt aber insgesamt hat es mir nicht geholfen das es bei mir nur den fall für ein 9x9 feld abdeckt (und das eher schlecht als recht)
das ganze sieht so bei mir aus:
Delphi-Quellcode:
function Sub_Array_check(array_var:TArray):boolean; // array_var: array[0..8,0..8] of integer
var
x,y,i,j:integer;
Ergebnismenge:TEingabemenge;
check_var:boolean;
begin
check_var:=true;
x:=0;
y:=0;
Ergebnismenge:=[];
for j:=x to x+CSubSudokuLaenge-1 do //CSubSudokuLaenge=3
for i:=y to y+CSubSudokuLaenge-1 do
begin
Sub_array[i,j]:=array_var[i,j];
if (not(Sub_array[i,j] in Ergebnismenge) or (Sub_array[i,j] = 0)) then Ergebnismenge:=Ergebnismenge + [Sub_array[i,j]]
else check_var:=false;
if ((i=CSubSudokuLaenge-1) or (i=CSubSudokuLaenge+2)) or (i=CSubSudokuLaenge+5) then
begin
x:=x+3;
y:=0
end;
end;
Sub_array_check:=check_var;
end;
das dürfte nicht die beste lösug sein aber die die ich selbst erarbeitet habe *eigentlich ganz glücklich*
nur leider bin ich der lösung des problems ein Lösungsprogramm zu erstellen nich viel weiter gekommen da ich nich wirklich weiß wie ich das ganze rekursiv lösen kann
und dann gibt es da noch das problem die felder zu füllen da hab ich noch nich den geringsten schimmer wie ich das anstellen könnte
also wenn ihr nette ideen habt dann immer her damit und für die bisherige hilfe schon mal ein RIESEN dankescön!!!
Olli