3. Praktikum - Was macht Test 2 ?

Benutzeravatar
Abo
Erstie
Erstie
Beiträge: 18
Registriert: 16. Apr 2007 15:29
Wohnort: Darmstadt

Beitrag von Abo »

6(sic)6 hat geschrieben:Wieso sollte er zusammenhängend sein? Auch ein nicht zusammenhängender Graph kann eine topologische Sortierung darstellen.

Wenn wir einen Graphen haben mit Knoten A, B, C. Mit nur einer Kante A->B

dann heißt das, dass A vor B kommen muss, der Rest kann beliebig sein. (Ich bitte um Korrektur falls das falsch ist) also wäre hier topologisch richtig:

ABC
CAB
ACB

PS: Kein Problem, ich helfe gerne wenn ich kann ;)
Schon klar, wie du das meintest, aber ich lese doch "n" und "m" und dann werde ich "m+1" Zeilen lesen. D.h. ich habe n Knoten und die Anzahl der gelesenen Zeilen muss doch der Anzahl der angegebenen entsprechen, sonst wäre es doch ein FileFormatException, da etwas fehlt. Und ausserdem können wir doch nicht folgendes einlesen:

e 1 2

weil hier die Kantengewichtung fehlt und ich diese zwei Knoten nicht als zwei Knoten ohne Kante interpretire, sonderrn als ein Exception, weil davor ein "e" steht.

Als jetzt würde ich mal gerne wissen, wie der Test2 aussieht, denn eigentlich habe ich ja alles abgefangen, was abzufangen war.

Oder liege ich schon wieder falsch? ;o)

Benutzeravatar
6(sic)6
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 9. Dez 2004 20:49
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von 6(sic)6 »

Es ist richtig was du sagst, und e 1 2 wäre eine Exception, das ist auch richtig. Was nichts daran ändert, dass der Test 2 ungefähr so aussieht

Ich hatte den Fall nicht behandelt und einen Fehler, dann hab ich auch ihn Berücksichtigt und *BAM* hatt's funktioniert :) Du musst bei Test 2 nichts abfangen sondern eine gültige topologische Sortierung zurückgeben.
Doubt me! Hate me!
You're the inspiration I need!!

Benutzeravatar
Panulli
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 110
Registriert: 20. Apr 2005 07:20

Beitrag von Panulli »

6(sic)6 hat geschrieben:5 0 kann gültig sein, der Graph muss nicht zusammenhängen
Das ist natürlich richtig....da habe ich nicht daran gedacht, danke :-)
Grüßlich ULI

http://www.SGE4ever.de

Benutzeravatar
6(sic)6
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 9. Dez 2004 20:49
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von 6(sic)6 »

Panulli hat geschrieben:
6(sic)6 hat geschrieben:5 0 kann gültig sein, der Graph muss nicht zusammenhängen
Das ist natürlich richtig....da habe ich nicht daran gedacht, danke :-)
Kein Problem ;)
Doubt me! Hate me!
You're the inspiration I need!!

Benutzeravatar
Abo
Erstie
Erstie
Beiträge: 18
Registriert: 16. Apr 2007 15:29
Wohnort: Darmstadt

Beitrag von Abo »

Panulli hat geschrieben:
6(sic)6 hat geschrieben:5 0 kann gültig sein, der Graph muss nicht zusammenhängen
Das ist natürlich richtig....da habe ich nicht daran gedacht, danke :-)
5 0
kann nicht richtig sein, da es doch eine Kante markiert, ansonsten sind doch die Knoten selsbt mit "n" angegeben.

Und was soll eigentlich "5 0" bezeichnen?

Also wenn "5 0" 5 Knoten und 0 Kanten markiert, dann gibt mein Programm natürlich eine TopSort aus. Also es muss wohl woanders liegen, oder?

Benutzeravatar
6(sic)6
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 9. Dez 2004 20:49
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von 6(sic)6 »

5 0 bezeichnet einen Graphen mit den Knoten 0, 1, 2, 3, 4 ohne Kanten zwischen den jeweiligen Knoten.

Wo "markiert" (was immer du damit meinst) denn 5 0 eine Kante?
Doubt me! Hate me!
You're the inspiration I need!!

RomanSoldier
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 220
Registriert: 1. Dez 2005 20:32

Beitrag von RomanSoldier »

Imaginärkanten zwischen allen Knoten, sonst macht der TopSort doch keinen Spaß :D

Benutzeravatar
Abo
Erstie
Erstie
Beiträge: 18
Registriert: 16. Apr 2007 15:29
Wohnort: Darmstadt

Beitrag von Abo »

6(sic)6 hat geschrieben:5 0 bezeichnet einen Graphen mit den Knoten 0, 1, 2, 3, 4 ohne Kanten zwischen den jeweiligen Knoten.

Wo "markiert" (was immer du damit meinst) denn 5 0 eine Kante?
Nun endlich habe ich gestern den Bug gefunden. ;o)
Es lag wohl daran, dass ich zwar die Knoten angelegt hatte und wenn Kanten existierten, dann habe ich diese auch hinzugefügt, aber nachdem die Kanten hizugefügt wurden und ein paar lose Knoten noch übrig blieben, standen diese immer noch im Initialzustand. Ich habe wohl zwei Zeilen miteinander getauscht und noch ein paar Gültigkeitsabfragen durchgeführt und "schwupps" es funktioniert. :o)

Danke für die Tipps Jungs

Benutzeravatar
mnoll
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 17. Jul 2006 23:03

Beitrag von mnoll »

AHAHAHAHAHAHAHAHAHAAHAH

Sorry aber ich musste gerade mal ne Runde lachen. Die ganze Zeit versuche ich rauszukriegen wieso bei mir Test_illegal_2 nicht funktioniert. Ich suche und suche und finde rein gar keinen Fehler. Dann habe ich mir nochmal die Aufgabenstellung durchgelesen und habe ganz einfach alle Exceptions bis auf die Cycles auf FileFormatException gesetzt und siehe da 15 mins vor Ende der Abgabe funktioniert es.
Dann habe ich nochmal geschaut was denn in den Fassaden stand und da habe ich dann folgendes gelesen. (Daher habe ich das überhaupt erst eingebaut)

// Lesen Sie zuerst Graphen aus Testdateien ein, werfen ggf.
// FileFormatException falls fehlerhafte Informationen in der Datei
// enthalten sind,
// IndexOutOfBoundsException wenn ungültige Zahlenbereiche vorliegen,
// und
// GraphContainsCycleException, falls der Graph ein Zyklus enthält.


Meine ich das nur oder werden IndexOutOfBounds gar nicht geprüft bzw als FileFormatExceptions geprüft. Denn wenn das so ist, vielen Dank für die Zeitverschwendung.

wach
Computerversteher
Computerversteher
Beiträge: 323
Registriert: 25. Okt 2004 09:08

Beitrag von wach »

mnoll hat geschrieben: Meine ich das nur oder werden IndexOutOfBounds gar nicht geprüft bzw als FileFormatExceptions geprüft. Denn wenn das so ist, vielen Dank für die Zeitverschwendung.
http://www.di.informatik.tu-darmstadt.d ... php?id=543

Antworten

Zurück zu „Archiv“