M
mkla
Gast
Sorry, hab keinen besseren Titel gefunden!
Aalso ich hab folgendes Problem und zwar hab ich eine quadratische Matrix mit 0 und 1 gefüllt z.B.:
1 0 0 1 0 1
0 1 0 1 1 1
1 0 1 1 1 1
1 1 1 1 1 0
0 1 1 1 1 1
0 1 0 1 1 0
... und soll davon die größte Teilmatrix finden, die nur mit 1 gefüllt ist. Also in diesem Beispiel begint sie an der Position 2, 2 und ist 3 Teile lang. Das soll ausgegeben werden.
Wir haben zur Realisierung einen Tipp bekommen und zwar sollen wir eine Hilfsmatrix erstellen, die die Länge immer gleich mitzählt. In diesem Beispiel würde das so aussehen:
1 0 0 1 0 1
0 1 0 2 2 1
1 0 3 2 1 1
1 2 2 2 1 0
0 1 1 2 1 1
0 1 0 1 1 0
.. und die 3 zeigt mir dann Position und Länge an.
Ich habe jetzt aber ein Problem mit der Belegung des zweiten Arrays ... nämlich eine Endlosschleife und ich finde einfach nicht, wo der Fehler ist. Vielleicht kann mir dabei jemand helfen?? (Hab das zweite Array b[][] übrigens immer mit 0 vorbelegt)
Mein Code für das Belegen der b-Matrix sieht folgendermaßen aus:
.. tja? ich hab einfach keinen plan mehr, sitz jetzt schon 2 stunden ..
Aalso ich hab folgendes Problem und zwar hab ich eine quadratische Matrix mit 0 und 1 gefüllt z.B.:
1 0 0 1 0 1
0 1 0 1 1 1
1 0 1 1 1 1
1 1 1 1 1 0
0 1 1 1 1 1
0 1 0 1 1 0
... und soll davon die größte Teilmatrix finden, die nur mit 1 gefüllt ist. Also in diesem Beispiel begint sie an der Position 2, 2 und ist 3 Teile lang. Das soll ausgegeben werden.
Wir haben zur Realisierung einen Tipp bekommen und zwar sollen wir eine Hilfsmatrix erstellen, die die Länge immer gleich mitzählt. In diesem Beispiel würde das so aussehen:
1 0 0 1 0 1
0 1 0 2 2 1
1 0 3 2 1 1
1 2 2 2 1 0
0 1 1 2 1 1
0 1 0 1 1 0
.. und die 3 zeigt mir dann Position und Länge an.
Ich habe jetzt aber ein Problem mit der Belegung des zweiten Arrays ... nämlich eine Endlosschleife und ich finde einfach nicht, wo der Fehler ist. Vielleicht kann mir dabei jemand helfen?? (Hab das zweite Array b[][] übrigens immer mit 0 vorbelegt)
Mein Code für das Belegen der b-Matrix sieht folgendermaßen aus:
Java:
for (int i = b.length - 2; i > 0; i--) {
for (int j = b[i].length - 2; j > 0; j--) {
if (a[i][j] == 1 && b[i+1][j] == 1 && b[i][j+1] == 1 && b[i+1][j+1] == 1) {
b[i][j] = b[i-1][j-1] + 1;
}
else {
b[i][j] = a[i][j];
}
}
}
.. tja? ich hab einfach keinen plan mehr, sitz jetzt schon 2 stunden ..
Zuletzt bearbeitet von einem Moderator: