Aufgabe: Ich will Unterquadrate eines Sudoku mit schon fixierten Werten so füllen, das die Zahlen 1-9
einmal darin vorkommen.
dafür habe ich die Methode
sie funktioniert z.b. für die Instanz 0 9 0
6 0 0
0 0 0
aber für die Instanz 0 0 0
0 8 0
0 7 0
nicht, oder braucht zumindest viel länger so das ich darauß schließe, dass sie überhaupt nicht funktioniert.
Ich hoffe das jemand den Grund sieht und mir helfen kann
mfg
einmal darin vorkommen.
dafür habe ich die Methode
Java:
public static void unterquadrat(int[] hilfsarray) {
boolean schondrin = false;
int zaehler = 0, a;
while (zaehler < hilfsarray.length) {
if (hilfsarray[zaehler] > 0) {
zaehler++;
} else {
// Suche solange eine Zufallszahl zwischen 1 und 9, bis du eine gefunden hast die noch nicht im array vorkommt dann schreibe sie rein
while (hilfsarray[zaehler] == 0) {
a = (int) (Math.random() * 8 + 1);
for (int q = 0; q < hilfsarray.length; q++) {
if (hilfsarray[q] == a) {
schondrin = true;
}
}
if (schondrin == false) {
hilfsarray[zaehler] = a;
}
schondrin = false;
}
zaehler++;
}
}
}
sie funktioniert z.b. für die Instanz 0 9 0
6 0 0
0 0 0
aber für die Instanz 0 0 0
0 8 0
0 7 0
nicht, oder braucht zumindest viel länger so das ich darauß schließe, dass sie überhaupt nicht funktioniert.
Ich hoffe das jemand den Grund sieht und mir helfen kann
mfg