G
Guest
Gast
Hallo ich soll für diese Vorgabe die Prozeduren reflexiv,transitiv und symmetrisch schreiben,hab aber keinen plan kann mir jemand helfen???
Implementieren Sie die Prozeduren „reflexiv “,„symmetrisch “ und „transitiv “,so dass durch den
Aufruf dieser entschieden werden kann,ob eine Relation diese Eigenschaft erfüllt.Zur Eingabe der
Relation in ein zweidimensionales Array ist die Prozedur „readRel “ aus den Vorgaben zu nutzen.
Geben sie die vier beschriebenen Eigenschaften einer eingelesenen Relation mit Hilfe der von Ihnen
implementierten Prozeduren auf der Konsole aus.
kein Plan!!! :bahnhof:
edit deathbyaclown: code tags eingefügt !
Code:
/**
* Das Programm erwartet als Eingabe die Größe einer quadratischen Matrix zur
* Speicherung einer Relation. Anschliessend wird die Relation als geordnetes
* Paar von positiven ganzen Zahlen eingelesen. Das Programm gibt aus, ob die
* Relation reflexiv, symmetrisch oder transitiv ist und ob es sich um eine
* Äquivalenzrelation handelt.
*/
public class Aequivalenz {
/**
* Die Funktion "readRel" ist Parameterlos. Sie liest die Grösse des
* zweidimensionalen Arrays in der die Relation gespeichert werden soll. Dann
* werden solange geordnete Paare der Relation eingelesen, bis eine Eingabe
* nicht mehr im gültigen Bereich liegt (eingabe <0 oder eingabe >= size der
* quadratischen Matrix)
*
* @return zweidimensionales Array in dem die Relation gespeichert ist
*/
static boolean[][] readRel() {
boolean[][] relation = null;
int size = 0, x = 0, y = 0; // Eingabevariable
int i = 0, j = 0; //Laufvariablen
stdin eingabe = new stdin();// Tastatureingabe
// Schleife fuer Tastatureingabe, Absicherung und Fehlermeldung
do {
if ((size < 0) || (size > 20)) {
System.out.println("\nZahl zu gross oder zu klein.");
} // end if
size = eingabe.getInt("Grösse der Matrix: ");
} //end do while
while ((size < 0) || (size > 20));
relation = new boolean[size][size];
if (size == 0) {
return relation;
}// end if
//Eingabe der Grössen in die Reihung
for (i = 0; i < relation.length; i++) {
for (j = 0; j < relation[i].length; j++) {
relation[i][j] = false;
} // end for
} //end for
do {
x = eingabe.getInt("Geben Sie ein X ein: ");
y = eingabe.getInt("Geben Sie ein Y ein, dass zu X in Relation steht: ");
if ((x < 0) || (y < 0) || (x >= size) || (y >= size)) {
System.out
.println("Ende der Eingabe(aufgrund von Eingabewerten ausserhalb des gueltigen Bereichs:) ");
} else {
relation[x][y] = true;
} //end if
} //end do while
while ((x >= 0) && (y >= 0) && (x < size) && (y < size));
return relation;
} //end readRel
/**
* Die Funktion "main" ruft die Funktion readRel und anschliessend die
* Funktionen reflexiv, symmetrisch, transitiv und speichert deren Ergebnis,
* an Hand dessen dann entschieden wird, ob es sich um eine
* Äquivalenzrelation handelt.
*
* @param argv wird ignoriert
*/
public static void main(String argv[]) {
boolean ref = false;
boolean symm = false;
boolean trans = false;
boolean[][] relation = null;
relation = readRel();
/*Hier müssen die Funktionsaufrufe und die Ausgabe ergänzt werden */
} //end main
} //end class
Aufruf dieser entschieden werden kann,ob eine Relation diese Eigenschaft erfüllt.Zur Eingabe der
Relation in ein zweidimensionales Array ist die Prozedur „readRel “ aus den Vorgaben zu nutzen.
Geben sie die vier beschriebenen Eigenschaften einer eingelesenen Relation mit Hilfe der von Ihnen
implementierten Prozeduren auf der Konsole aus.
kein Plan!!! :bahnhof:
edit deathbyaclown: code tags eingefügt !