3077 Dreieck Viereck aus Dreiecken machen
Kategorie:Grafik
Klasse:schwer
Eingabe:siehe Spezifikation
Ausgabe:siehe Spezifikation
Abzugebende Files: Dreieck.txt, Dreieck.java, *.java , 508.txt, 764.txt

Kurzbeschreibung:

Die Seitenlängen mehrerer rechtwinkeligen Dreiecke werden eingelesen; es wird geprüft, ob sich diese Dreiecke so zusammenlegen lassen, daß ein Quadrat oder eine Raute entstehen.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie zuerst die Anzahl der Dreiecke (2, 3 oder 4) und dann die Seitenlängen der Dreiecke ein.

Überprüfen sie ob die Dreiecke rechtwinkelig sind. Stellen Sie fest, ob man diese Dreiecke so aneinanderlegen kann, daß ein Quadrat oder eine Raute entsteht. Die Dreiecke dürfen dabei weder überlappen noch darf eine Lücke freibleiben. Außerdem dürfen die Dreiecke nur gedreht, oder gespiegelt werden.

Überprüfen Sie die Seitenlängen mit einer Genauigkeit von 0.3.

Eingabedaten:

Lesen Sie zuerst die Anzahl der Dreiecke als Integer-Zahl ein. Diese muß im Bereich von 2 bis 4 (inklusive) liegen.
Die Dreiecke müssen rechtwinkelig sein. Danach lesen Sie die Seitenlängen des ersten Dreiecks ein, dann die des zweiten usw. Diese werden als Float-Zahlen eingegeben und dürfen nicht größer als 30 sein. Sollten Werte eingegeben werden, die kein Dreieck definieren, so ist die Eingabe unzulässig.

Ausgabedaten:

Bei korrekten Eingabedaten sollen Sie "J" ausgeben, falls die Zusammenlegung zu einem Quadrat oder zu einer Raute möglich ist, ansonsten "N".

Geben Sie danach einen Zeilenvorschub aus.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer bis zum definierten Endezeichen einzulesen. (Ausnahme: Der Wert für die Anzahl der Dreiecke ist inkorrekt).
Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.

Waren die Datentypen bei allen Eingaben richtig, die eingegebenen Daten dann aber inhaltlich nicht korrekt, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
1

4
3 3 4.243
1.5 1.5 2.121
1.5 1.5 2.121
2.121 2.121 3

Ausgabedaten
FALSCHE EINGABE

J


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Dreieck < Dreieck.i1 > Dreieck.out1

Das erzeugte File Dreieck.out1 können Sie dann mit dem mitgelieferten Outputfile Dreieck.o1 vergleichen.