G
An alle schonmal danke für eure Hilfe!
Ich bin jetzt zum Schluss gekommen, dass die Farbanteile doch nicht aufgeteilt werden müssen. Sie werden einfach gleich so wie sie daher kommen als unsigned int behandelt und weiter verarbeitet. Das macht die ganze Sache natürlich viel einfacher.
Trotzdem hab ich wieder eine Frage Und zwar, gilt es, die verschiedenen ID der Formen, die eingelesen werden, auf ihre Existenz zu überprüfen. Also ob sie schon vorhanden sind oder nicht. Sobald eine oder mehrere IDs mehrfach vorommen, soll ein Fehler ausgegeben werden. Ich weiß, wie man Strings auf gewisse Zeichen etc. überprüfen kann, nur ist zu bedenken, dass das Ganze recht dynamisch sein muss, d.h. es können beliebig viele Formen und entsprechend beliebig viele IDs daher kommen. Also ich schätze mal, ich überprüf das am Besten in den Structs, da ja immer die selbe Reihenfolge Einlesen einer Zeile -> speichern in Struct -> übergabe an Weiterverarbeitung gilt. D.h. ich müsste die IDs irgendwie im Struct überprüfen, wenn sie hereinkommen. Oder? Wie mach' ich das am Besten?
Zur Allgemeinen Aufgabenstellung:
Eine Eingabedatei enthält eine textuelle Beschreibung des Bildes. Jede Zeile beschreibt dabei entweder ein Rechteck, einen Kreis oder ein Dreieck das vollständig mit der angegebenen Farbe ausgefüllt ist.Die Werte innerhalb der Anführungszeichen sind dabei beliebig wählbar, das restliche Format bleibt jedoch immer gleich. Es kann sogar die hier angegebene Reihenfolge der einzelnen Eigenschaften als gegeben vorausgesetzt werden.
Die ID ist eine eindeutige vorzeichenlose 32bit Ganzzahl. Wenn sich zwei Objekte überschneiden, soll immer das Objekt mit der höheren ID das andere Objekt verdecken. Die Farbe wird als 6-stellige Hexadezimalzahl angegeben, wobei die ersten beiden Stellen den Rot-Anteil beschreiben, die beiden mittleren Stellen den Grün-Anteil und die letzten beiden Stellen den Blau-Anteil.
Die Position des Objekts wird über eine ganzzahlige x und y Koordinate angegeben. Der Koordinatenursprung liegt in der linken oberen Ecke des Bildes. Die Koordinaten können auch negativ sein, die Werte für die Breite und Höhe des Rechtecks bzw. für den Radius des Kreises müssen jedoch positiv sein.
Soweit das Wichtigste.
Mfg