1074 Hammin Hammingdistanz
Kategorie:Statistik
Klasse:mittel
Eingabe:siehe Spez
Ausgabe:siehe Spez
Abzugebende Files: Hammin.txt, Hammin.java

Kurzbeschreibung:

Die Hammingdistanz eines Codes soll ermittelt werden.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie zuerst eine Wortlänge des Codes ein. Danach folgen die Wörter des Codes (als Strings), die nur aus 0 und 1 bestehen dürfen und genau so lang sein sollen, wie es die Wortlänge vorschreibt.

Ermitteln Sie die Hammingdistanz des Codes. Dazu vergleichen Sie je zwei Codewörter miteinander. Die Hammingdistanz zweier Codewörter ist die Anzahl der unterschiedlichen Stellen (z.B. 00 und 01 -> HD=1, 000 und 101 -> HD=2). Die Hammingdistanz eines Codes ist das Minimum der paarweisen Hammingdistanzen der Codewörter.

Eingabedaten:

Lesen Sie zuerst die Wortlänge als Short ein. Diese muß mindestens 1 und maximal 4 betragen.

Danach werden die Codewörter (als Strings) eingelesen. Diese müssen genau so lang sein, wie es die Wortlänge vorschreibt und dürfen nur aus den Zeichen "0" und "1" bestehen.

Ein einzelnes Zeichen, das nicht "0" oder "1" ist, beendet die Eingabe.

Der Code muß aus mindestens zwei und maximal acht Wörtern bestehen.

Ausgabedaten:

Bei korrekten Eingabedaten ist die Hammingdistanz des Codes auszugeben, anschließend ein Zeilenvorschub.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Enthält der Eingabedatensatz andere Zeichen als angegeben, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.

Sind die Datentypen bei allen Eingaben richtig, die eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
1 a

2 00 01 10 11 =

2 001 00 11 10 =

Ausgabedaten
FALSCHE EINGABE

1

FALSCHE EINGABE


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 Hammin < Hammin.i1 > Hammin.out1

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