Lösungsvorschlag 5.3 - Aufgabe 1: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „<pre> public class MAGIC { //Deklaration und Instantiierung des Arrays private int [ ][ ] mq = new int [3][3]; //Initialisierung des Arrays mit den Beispielwerte…“)
 
 
Zeile 1: Zeile 1:
 
<pre>
 
<pre>
 
public class MAGIC {
 
public class MAGIC {
//Deklaration und Instantiierung des Arrays
+
//Deklaration und Initialisierung des Arrays
private int [ ][ ] mq = new int [3][3];
+
private int [ ][ ] mq = {{4,9,2},{3,5,7},{8,1,6}};
 
+
//Initialisierung des Arrays mit den Beispielwerten
+
private int [ ][ ] mq ={{4,9,2},{3,5,7},{8,1,6}};
+
  
 
//Testmethode mit sum als Parameter für die Testsumme (hier 15)
 
//Testmethode mit sum als Parameter für die Testsumme (hier 15)

Aktuelle Version vom 26. Januar 2014, 18:43 Uhr

public class MAGIC {
//Deklaration und Initialisierung des Arrays
private int [ ][ ] mq = {{4,9,2},{3,5,7},{8,1,6}};

//Testmethode mit sum als Parameter für die Testsumme (hier 15)
public void test(int sum){
if (mq [0][0]+mq [0][1]+mq [0][2] == sum &&
mq [1][0]+mq [1][1]+mq [1][2] == sum &&
mq [2][0]+mq [2][1]+mq [2][2] == sum &&
mq [0][0]+mq [1][0]+mq [2][0] == sum &&
mq [0][1]+mq [1][1]+mq [2][1] == sum &&
mq [0][2]+mq [1][2]+mq [2][2] == sum &&
mq [0][0]+mq [1][1]+mq [2][2] == sum &&
mq [2][0]+mq [1][1]+mq [0][2] == sum )
{System.out.println("Es handelt sich um ein magisches Quadrat");}
else {System.out.println("Es handelt sich nicht um ein magisches Quadrat");};
}}

Vorschläge zur Erweiterung:

  • Mit drei auf Schleifen basierenden Methoden kann die Summe von Zeilen, Spalten und Diagonalen allgemein für beliebig große zweidimensionale Felder berechnet werden. Verallgemeinere das Programm so, dass magische Quadrate beliebiger Größe gestestet werden können.
  • Schreibe ein Programm, das automatisch magische Quadrate erzeugt. Anleitungen finden sich z.B. hier: