Home
/
JavaForum
/
Beginner
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
5.245 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 696 von 2963 (23%)
Autor
Gast
Datum
21.05.02, 09:50
Betreff
Magisches Quadrat
Aufgabe: Erzeugung von magischen Quadraten
N.B.: Magische Quadrate sind Quadrate, bei denen alle Zeilensummen und alle
Spaltensummen jeweils den gleiche Wert liefern.
Das Programm soll das folgende, von Coxeter angegebene Verfahren, implementieren,
das nur fŸr magische Quadrate mit ungerader Zeilenzahl funktioniert:
(Ein Beispiel fŸr das durch das Verfahren erzeugte magische Quadrat der Grš§e 3
ist unten angegeben!)
Schreibe eine 1 in das mittlere Feld der obersten Zeile. Bewege dich nach
oben und links und fŸlle die Felder mir Zahlen in aufsteigender Folge!
Wenn die Bewegung nach oben aus dem Quadrat herausfŸhrt, so wandere von unten
in dieser Spalte wieder in das Quadrat hinein. (Beispiel: Zahl 2)
Wenn die Bewegung nach links
aus dem Quadrat herausfŸhrt, so wandere von rechts in dieser Spalte wieder
in das Quadrat hinein. (Beispiel: Zahl 3)
Ist ein Feld bereits ausgefŸllt, so bewege dich nach unten anstatt nach oben,
aber ohne nach links zu gehen. (Beispiel: Zahl 4)
†brigens: Die Zahl 7 wird unter der Zahl 6 positioniert, da das entsprechende
Feld, in das sie nach den Regeln einzutragen wŠre, bereits durch die Zahl 4
blockiert ist!
(Diese Beschreibung ist nicht mehr das Original von Herrn Coxeter, sondern sie
wurde von mir Ÿberarbeitet!)
Dieses Verfahren fŸhrt zum folgenden magischen Quadrat der Grš§e 3:
| 6 | 1 | 8 |
| 7 | 5 | 3 |
| 2 | 9 | 4 |
Sie sollen zwei Versionen dieses Programms implementieren: eine ohne und eine
mit graphischer Benutzerschnittstelle. FŸr die Version mit graphischer
Benutzerschnittstelle sollen sie die Funktionen der Klasse ohne
graphische Benutzerschnittstelle wiederverwenden, indem sie diese aufrufen
(und nicht den Quelltext kopieren)! Legen Sie mindestens drei verschiedene
Java-Quelldateien an: eine mit dem Programmcode fŸr die textuelle Version,
eine mit dem Programmcode fŸr die graphische Version und die dritte mit
dem zweidimensionalen Feld und dem Algorithmus zum FŸllen des Feldes!
Bedingungen fŸr die Implementierung:
¥ Der Benutzer soll die Mšglichkeit haben, eine gewŸnschte Grš§e
des Quadrats zwischen 1 und 15 anzugeben. Realisieren Sie dafŸr
eine robuste Eingabe von der Konsole!
¥ Verwenden Sie dynamisch erzeugte Felder der jeweils erforderlichen
Grš§e!
¥ FŸr die Ereignisbehandlung verwenden Sie bitte ausschlie§lich das
Ereignismodell von Java 2. (Vorsicht vor alten Java BŸchern!)
Als Loesung sind abzugeben:
1.) Die mit dem Java Dokumentationstool erstellte Dokumentation ihrer
Lšsung. (Diese mu§ nur vorgefŸhrt und n i c h t ausgedruckt werden!)
2.) Ein Ausdruck des mit dem UML-Tool "jvision" erstellten Klassendiagramms
3.) Ein Ausdruck aller kommentierten Programmquellen
4.) Eine BegrŸndung fŸr die gewŠhlte Programmstruktur.
(Sie darf als ein zusammenhŠngender Kommentar im Programm enthalten sein.)
5.) Je ein Ausdruck des erzeugten magischen Quadrats der Groesse 5 in
der textuellen und in der graphischen Version.
Diese Aufgabe kann von jedem Studenten allein oder in Gruppen von maximal zwei
Studenten bearbeitet werden.
Die Abgabe der Loesung erfolgt durch jeden Studenten (jede Gruppe von Studenten)
persoenlich im Rahmen der oben vereinbarten Uebungsstunden.
Bei der Abgabe der Loesung muss jeder Student (der Gruppe)
seinen Programmtext Ÿbersetzen, das erzeugte ablauffŠhige Programm vorfuehren und
erlaeutern sowie Fragen des Dozenten zur Loesung beantworten (und zwar zum
gesamten Programm und nicht nur zu dem Teil, den er jeweils geschrieben hat).
Wer mir diese Aufgabe löst, bekommt 50 Euro.
Ich habe über zwei Wochen mir den Kopf zerbrochen, aber ich bekomme es nicht programmiert.( Wie der Algo funktioniert weiß ich)
Diskussionsverlauf:
Magisches Quadrat
Re: Magisches Quadrat
Re: Magisches Quadrat
Re: Magisches Quadrat
Re: Magisches Quadrat
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com