N
Nortix
Gast
Tag,
bin habe einen Sudokusolver gefunden und möchte diesen erweitern. Es soll die Ausgangssituation um immer eine eingegebene Zahl erweitert werden. Sprich ich habe die vorgegebenen Zahlen und vergleiche die umliegenden Felder mit der Lösung und meiner Eingabe.
Jetzt stoße ich auf 2 Probleme:
1. Ich speichere die Ausgangssituation in ein extra Array namens "problem", dann löse ich die Ausgangssituation und speichere die Lösung im Array "lösung". Wenn ich mir jetzt aber "problem" ausgeben lasse, hat es die gleichen Werte wie "lösung". Liegt das am static Kontext beider Arrays? Wie könnte man dies anders lösen?
2. Beim testen der umliegenden Felder passiert es, dass ich aus der Reichweite der Arrays komme. Eine ArrayIndexOutOfBoundException wird geworfen. Leider fällt mir dazu auch keine Lösung ein, wie man dies geschickt meistern könnte.
bin habe einen Sudokusolver gefunden und möchte diesen erweitern. Es soll die Ausgangssituation um immer eine eingegebene Zahl erweitert werden. Sprich ich habe die vorgegebenen Zahlen und vergleiche die umliegenden Felder mit der Lösung und meiner Eingabe.
Jetzt stoße ich auf 2 Probleme:
1. Ich speichere die Ausgangssituation in ein extra Array namens "problem", dann löse ich die Ausgangssituation und speichere die Lösung im Array "lösung". Wenn ich mir jetzt aber "problem" ausgeben lasse, hat es die gleichen Werte wie "lösung". Liegt das am static Kontext beider Arrays? Wie könnte man dies anders lösen?
2. Beim testen der umliegenden Felder passiert es, dass ich aus der Reichweite der Arrays komme. Eine ArrayIndexOutOfBoundException wird geworfen. Leider fällt mir dazu auch keine Lösung ein, wie man dies geschickt meistern könnte.
Java:
public static void main(String[] args) {
int[][] matrix = parseProblem(args);
System.out.println("Matrix:");
writeMatrix(matrix);
problem=matrix;
System.out.println("Problem:");
writeMatrix(problem);
if (solve(0,0,matrix)){
System.out.println("Matrix geloest:");
writeMatrix(matrix);
}
else
System.out.println("keine Lösung");
//boolean done=false;
System.out.println("Problem nach Lösung:");
writeMatrix(problem);
System.out.println("Eingabe folgt:");
//while(!done){
int i = input.nextInt();
System.out.println(i +" zahl");
eingabe(i);
writeMatrix(problem);
//}
}