Lösungsvorschlag 5.3 - Aufgabe 1

Aus ComeniusWiki
Version vom 1. November 2013, 14:59 Uhr von B.Schiller (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
public class MAGIC {
//Deklaration und Instantiierung des Arrays
private int [ ][ ] mq = new int [3][3];

//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)
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: