[Progra] Übung 7 - Aufgabe 2

[Progra] Programmierung
[DSAL] Datenstrukturen und Algorithmen
[SWT] Softwaretechnik
[DB] Datenbanken und Informationssysteme

Übung 7 - Aufgabe 2

Beitragvon Blubberator » 06.12.07 20:51

Nabend,

hab ein klitzekleines Problem mit der Anordnung der Fenster.

Anders als auf dem Bild auf dem Übungsblatt und in der Beispieldatei liegt bei mir der Block mit den Fenstern 4-7 UNTER dem Block mit den Fenstern 1-3.
Die Lage der Fenster innerhalb der Blöcke ist korrekt. Die Markierung der Fenster unter dem Cursor funktioniert auch korrekt.
Die Fehlerquelle kann nur in der "auflistenIn" liegen. In unzähligen (textbasierten) Probleläufen zeigt die aber eigentlich immer das gewünschte Verhalten.

Hat da vielleicht jemand ähnliche Probleme? Oder gehört das Ende vielleicht sogar so?

Danke!
Blubberator
 
Beiträge: 19
Registriert: 13.09.07 17:40

Beitragvon Coolcat » 06.12.07 23:43

so siehts mit der Musterlösung aus, also ich vermute mal alles ok :)
Bild

(übrigens sind doch die *.class-Dateien der Musterlösung online, die kann man ja auch starten...)
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon Blubberator » 07.12.07 01:39

Coolcat hat geschrieben:(übrigens sind doch die *.class-Dateien der Musterlösung online, die kann man ja auch starten...)


Richtig! Daran habe ich ja erkannt, daß meins nicht tut, was es soll... :?
Bei mir sieht's so aus:

Bild

Das ganze Rumgeblinke in schmucken Farben funktioniert einwandfrei. Auffällig ist, daß nur die Boxen 1 und 4 betroffen sind.

Sehr dubios das Ganze...
Blubberator
 
Beiträge: 19
Registriert: 13.09.07 17:40

Beitragvon SpatzenArsch » 07.12.07 08:32

Wenn ich mich recht erinnere, dann ist deine Ausgabe ebenfalls Ok, weil Box 1 und 4 beide in 0 enthalten sind, aber keine von beiden die jeweils andere enthält. Sie liegen also quasi nebeneinander und deswegen darf entweder 1 oder 4 vorne sein.
SpatzenArsch
 
Beiträge: 202
Registriert: 15.04.06 12:14

Beitragvon mb82 » 07.12.07 12:06

Dazu hab ich auch mal ne Frage.
Ich soll ja ein Array mit den getroffenen Boxen zurückgeben, aber wie schaffe ich es ein Array mit der richtigen Größe zu initialisieren?
Müsste ich dann zwei Rekursionen hintereinander ausführen, so dass die erste mir zurückgibt wieviele Elemente getroffen sind und die zweite mir mein Array auffüllt?
Ein ähnliches Problem hab ich nämlich auch bei der Methode alsArray().

Danke
Benutzeravatar
mb82
 
Beiträge: 16
Registriert: 28.11.06 18:59

Beitragvon MaoDelinSc » 07.12.07 12:16

Ich habs so gemacht, dass public alsArray() einfach ein Integer = 0 erschafft und danach private alsArray(Hilfsinteger zur Speicherung der Anzahl der getroffenen Boxen) aufruft...

was die private dann machen muss, ergibt sich dann fast von selbst ;)
MaoDelinSc
 
Beiträge: 296
Registriert: 07.12.07 10:28
Wohnort: Aachen
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: Medizin

Beitragvon mirko » 07.12.07 12:23

mb82 hat geschrieben:Dazu hab ich auch mal ne Frage.
Ich soll ja ein Array mit den getroffenen Boxen zurückgeben, aber wie schaffe ich es ein Array mit der richtigen Größe zu initialisieren?
Müsste ich dann zwei Rekursionen hintereinander ausführen, so dass die erste mir zurückgibt wieviele Elemente getroffen sind und die zweite mir mein Array auffüllt?
Ein ähnliches Problem hab ich nämlich auch bei der Methode alsArray().

Danke


guck dir mal die attribute der klasse BoxListe an...
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon Coolcat » 07.12.07 12:26

Sie liegen also quasi nebeneinander und deswegen darf entweder 1 oder 4 vorne sein.

genau.

Was die Anzahl der Boxen angeht:
Es gibt ein Attribut private int anzahl; und dieses wird in der Methode amAnfangEinfuegen() auch schön brav erhöht.

Coolcat
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon mirko » 07.12.07 12:29

du musst auch gleich alles verraten :evil:
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon mb82 » 07.12.07 13:41

So, mein Problem war nicht die Methode alsArray(), das mit anzahl hatte ich nämlich auch schon so versucht, mein Fehler lag in wenden().
Der ist nun behoben und ich habe ein anderes Problem in auflistenIn()
Kann jemand anhand der Bilder sehen was ich evtl falsch gemacht habe?
Bei Eingabe 2
Bei Eingabe 1
Zuletzt geändert von mb82 am 08.12.07 15:35, insgesamt 1-mal geändert.
Benutzeravatar
mb82
 
Beiträge: 16
Registriert: 28.11.06 18:59

Beitragvon Coolcat » 07.12.07 14:01

Ich vermute du steigst nicht rekursiv in die einzelnen Boxen ab.
(das muss als Hinweis reichen...)
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon mirko » 07.12.07 16:55

oder die großen rechtecke liegen über den kleinen...
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon Coolcat » 07.12.07 17:46

Ich soll ja ein Array mit den getroffenen Boxen zurückgeben, aber wie schaffe ich es ein Array mit der richtigen Größe zu initialisieren?

Sorry, meine Antwort von heute Vormittag war Müll. Ich dachte es ginge um die Methode alsArray(). Bei holeTreffer(Punkt) bringt das natürlich nicht das geringste. Nun ein hoffentlich sinnvollerer Tipp:
Warum ein Array verwenden, wenn man Listen hat?

Kann jemand anhand der Bilder sehen was ich evtl falsch gemacht habe?

Mirko hat recht, vielleicht hast du auch nur folgendes überlesen:
Die Reihenfolge muss so gewählt werden, dass innere Boxen stets vor den jeweiligen äußeren Boxen in der Liste stehen. Dies ist nötig, da beim Anzeigen der Boxen sonst fälschlicherweise innere Boxen übermalt werden würden.
My software never has bugs. It just develops random features.
Benutzeravatar
Coolcat
Promoter
 
Beiträge: 2574
Registriert: 28.11.05 21:26
Wohnort: Kohlscheid / Düsseldorf
Studiengang: Informatik (Dipl.)
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon mb82 » 07.12.07 20:39

Ne, überdeckt wurde da nichts. Hab in auflistenIn() nur mit den falschen Daten gearbeitet. Jetzt ist das Problem dann auch behoben.

Trotzdem danke für die Hilfe
Benutzeravatar
mb82
 
Beiträge: 16
Registriert: 28.11.06 18:59

Beitragvon Der Fuß » 08.12.07 13:15

Wie geht denn das mit den .class Dateien?
Ich weiß nicht, wie ich die starten soll.
Benutzeravatar
Der Fuß
 
Beiträge: 114
Registriert: 27.10.07 17:11

Nächste

Zurück zu Praktische Informatik