Sudoku: Subgruppe finden

Alan001

Well-Known Member
#1
Hallo zusammen!

Ich habe folgendes gecodet, um die jeweiligen Subgruppenanfang zu finden (zur Prüfung, ob Zahl bereits in Subgruppe ist). Vom linken, oberen Element ausgehen gehe ich diese Elemente des 3x3 Feldes dann durch. Checked ist ein Array, dass mir sagt, ob Werte bereits gefunden wurden oder nicht. Leider klappt es nur beim ersten Mal und danach nicht mehr - wieso?

Java:
if (board[i][j] == 0) {
                    //search in subgroup
                    searchGroup(board, i, j, checked);

public void searchGroup(int[][] board, int i, int j, boolean[] checked) {
        int posX0 = (i / 3) * 3;
        int posY0 = (j / 3) * 3;
        for (int k = posX0; k < posX0 + 3; k++) {
            for (int l = posY0; l < posY0 + 3; l++) {
                int temp = board[k][l];
                if (temp != 0) {
                    checked[temp - 1] = true;
                }
            }
        }
    }
 

Alan001

Well-Known Member
#2
Ok, das klappt doch alles, sorry. Mein Fehler liegt wo anders...
Hat jemand Lust, meinen Code anzugucken? Am besten jemand, der es schon hat. Wenn ich den hier poste, wäre das ja nicht dem Wettbewerb zutragend (auch wenn er nicht funktioniert. Wobei, oben ist ein Teil schon gepostet..).
 
Zuletzt bearbeitet:
Oben