NemesisFS
Lt. Commander
- Registriert
- Sep. 2008
- Beiträge
- 1.293
Hi,
ich habe die Aufgabe, Wahrheitstafeln wie diese:
Für ein beliebiges n durch ein Programm rekursiv auszugeben. Mir ist nach einigen Stunden Arbeit nurnoch die Lösung eingefallen, es durch eine Matrix zu lösen, ich gehe davon aus, es gibt eine sehr viel elegantere Lösung, sie will mir aber nicht einfallen...
Hier ist mein Code:
Die Ausgabe ist leider völlig falsch:
Ich habe schon versucht mit Netbeans zu debugen, aber im Debug Modus kriege ich eine Fehlermeldung, obwohl das Programm problemlos ausgeführt werden kann... Kann mir wer helfen?
mfg nemesis
ich habe die Aufgabe, Wahrheitstafeln wie diese:
Code:
true true true
true true false
true false true
true false false
false true true
false true false
false false true
false false false
Hier ist mein Code:
Code:
public class Hue8_3 {
public static void main(String[] args) {
truethtable(4);
}
static void truethtable(int n) {
boolean matrix[][] = new boolean [(int) Math.pow(2, n)][n];
truethtable2(n, 0, (int) Math.pow(2, n), matrix);
printBoolMatrix(matrix);
}
static boolean[][] truethtable2(int n, int a, int b, boolean[][] matrix) {
int i;
if(n == 0) return matrix;
for(i = a; i < (a + b)/2; i++) { //true schreiben
matrix[i][n-1] = true;
}
truethtable2(n-1, 0, (a+b)/2, matrix); //nächste Ebene aufrufen
for(i = (a + b)/2; i < b; i++) { //false schreiben
matrix[i][n-1] = false;
}
truethtable2(n-1, (a+b)/2, b, matrix); //nächste Ebene aufrufen
return matrix;
}
static void printBoolMatrix(boolean[][] matrix) {
for(int i = 0; i < matrix.length;i++) {
for(int j = 0; j < matrix[0].length;j++) {
System.out.print(matrix[i][j] + "\t");
}
System.out.println();
}
}
}
Die Ausgabe ist leider völlig falsch:
Code:
true true true
true true true
true false true
false false true
false true false
false true false
true false false
false false false
Ich habe schon versucht mit Netbeans zu debugen, aber im Debug Modus kriege ich eine Fehlermeldung, obwohl das Programm problemlos ausgeführt werden kann... Kann mir wer helfen?
mfg nemesis