Praktikum Aufgabenstellung

Fachdiskussionen rund um Themen und Veranstaltungen ohne Zuordnung zu einem bestimmten Semester (Allgemeine organisatorische und verwaltungstechnische Themen, die NICHT in unmittelbarem und direktem Zusammenhang mit einer Veranstaltung zu sehen sind, bitte in "Studienverwaltung allgemein" einsortieren!)

Moderator: (M) Mod.-Team Allgemein

xift
TalkING. Freak
TalkING. Freak
Beiträge: 95
Registriert: Do, 07. Feb. 08, 11:01

Praktikum Aufgabenstellung

Beitrag von xift » Do, 25. Dez. 08, 16:08

Ich habe ein kleines Problem mit der Aufgabenstellung.

Im Kommentar zur Funktion CImagefile::read() heisst es:

Code: Alles auswählen

//! read liest den Inhalt einer PGM-Datei in ein CImage ein
/*! Dazu werden zunaechst die Dimensionen des Bildes eingelesen und
    in das CImage uebertragen und dann die Bilddaten in das CImage kopiert.
In der Aufgabenstellung steht

Code: Alles auswählen

Innerhalb der Methode read() soll mit new ein Objekt vom
Typ CImage erzeugt werden.
Genau das tue ich auch. Ich lese den Header aus, erstelle ein neues CImage-Objekt und kopiere dann die Bilddaten in das CImage-Objekt.

Jetzt mein Problem:
Ich bin bei der Implementierung des Histograms angekommen.
In der Aufgabenstellung steht:

Code: Alles auswählen

Fullen Sie die Klasse CHistogram so, dass im Konstruktor für ein CImage- Objekt ein Histogramm generiert wird. Die Zuordnung Grauwert → Haufigkeit soll in der Membervariable m_greys gespeichert werden.
Zum Zeitpunkt an dem mein CImage-Objekt erzeugt wird sind die Bilddaten noch unangerührt in der Datei. Ich kann also auf keinen Fall schon die Grauwerte nach m_greys schreiben.
Gibt es eine Möglichkeit das ganze so zu verändern dass es mit der Aufgabenstellung zusammenpasst oder ist es sinnvoller das Histogramm erst nach der Erzeugung des CImage-Objektes (am Ende der read() Methode) zu erstellen?

Gruß,
Michi[/code]

xift
TalkING. Freak
TalkING. Freak
Beiträge: 95
Registriert: Do, 07. Feb. 08, 11:01

Beitrag von xift » Di, 30. Dez. 08, 22:52

*push*

jan komm schon du hast das doch fertig

Benutzeravatar
plaicy
TalkING. Champion
TalkING. Champion
Beiträge: 972
Registriert: So, 19. Okt. 03, 17:37
Wohnort: Hamburg

Beitrag von plaicy » Di, 30. Dez. 08, 23:55

Alles ohne Gewähr...

In der Aufgabenstellung steht, dass du die Klasse CHistogram so ändern sollst, dass...

PS: Für Zitate ist das Tag "quote" sinnvoller als "code".
Man sollte Links grundsätzlich nicht trauen und Mods sollten ihre Änderungen namentlich kennzeichnen.

xift
TalkING. Freak
TalkING. Freak
Beiträge: 95
Registriert: Do, 07. Feb. 08, 11:01

Beitrag von xift » Do, 01. Jan. 09, 19:09

die antwort löst bei mir kein klicken aus :/

Benutzeravatar
blaubein
TalkING. Superposter
TalkING. Superposter
Beiträge: 497
Registriert: Mi, 22. Okt. 03, 11:55
Kontaktdaten:

Beitrag von blaubein » Fr, 02. Jan. 09, 10:55

Die Aufgabenstellung hört sich doch so an, dass du dem CHistogram einen Zeiger oder ne Referenz auf ein CImage mitgibst. Du muss dann schon ein Image geladen sein (muss man natürlich prüfen). Die Daten verwendest du dann im Konstruktor von CHistogram und erstellst die geforderte Zuordnung in m_greys.

Benutzeravatar
plaicy
TalkING. Champion
TalkING. Champion
Beiträge: 972
Registriert: So, 19. Okt. 03, 17:37
Wohnort: Hamburg

Beitrag von plaicy » Fr, 02. Jan. 09, 11:37

blaubein hat geschrieben:Die Aufgabenstellung hört sich doch so an, dass du dem CHistogram einen Zeiger oder ne Referenz auf ein CImage mitgibst. Du muss dann schon ein Image geladen sein (muss man natürlich prüfen). Die Daten verwendest du dann im Konstruktor von CHistogram und erstellst die geforderte Zuordnung in m_greys.
So habe ich das auch verstanden und die Klasse sieht auch entsprechend aus.

Code: Alles auswählen

class CHistogram
{
public:
        //! Erzeuge Histogramm aus einem Bild
        CHistogram(const CImage& image);
Vielleicht liest du erstmal in der Aufgabenstellung den Satzteil "für ein CImage- Objekt" nicht. Also: Fullen Sie die Klasse CHistogram so, dass im Konstruktor für ein CImage- Objekt ein Histogramm generiert wird.

Aber das ist meine persönliche Interpretation...
Man sollte Links grundsätzlich nicht trauen und Mods sollten ihre Änderungen namentlich kennzeichnen.

xift
TalkING. Freak
TalkING. Freak
Beiträge: 95
Registriert: Do, 07. Feb. 08, 11:01

Beitrag von xift » Fr, 02. Jan. 09, 13:24

okay das klickt eher!
Danke schonmal!

mps
TalkING. Newbie
TalkING. Newbie
Beiträge: 10
Registriert: Mo, 16. Jun. 08, 15:50

Beitrag von mps » So, 04. Jan. 09, 13:01

Ich habe auch noch eine Frage zu der Klasse CHuffmanTree:

Ist es okay, wenn ich den Baum im Konstruktor erzeuge, daraus dann die CodeTabelle erstelle und anschließend den Baum gleich wieder lösche? D.h. der Baum selbst ist in dem Objekt der CHuffmanTree Klasse nur temporär vorhanden und dauerhaft nur die Codetabelle.

Danke schön.
Michael

Rosenstiel
Uni-Mitarbeiter
Uni-Mitarbeiter
Beiträge: 83
Registriert: Fr, 14. Sep. 07, 15:28

Beitrag von Rosenstiel » Mo, 05. Jan. 09, 11:42

Ist es okay, wenn ich den Baum im Konstruktor erzeuge, daraus dann die CodeTabelle erstelle und anschließend den Baum gleich wieder lösche? D.h. der Baum selbst ist in dem Objekt der CHuffmanTree Klasse nur temporär vorhanden und dauerhaft nur die Codetabelle.
Ja das ist in Ordnung.

Viele Grüße

Marcus Rosenstiel

saml
TalkING. Newbie
TalkING. Newbie
Beiträge: 4
Registriert: Fr, 19. Dez. 08, 10:08

Beitrag von saml » Mo, 26. Jan. 09, 15:09

Ich hab da auch mal noch drei Fragen zur Aufgabenstellung.

1. Soll in man wirklich main() UND in write() die Objekte erzeugen?
2. Wie viele Exeptions sollen wir benutzen oder ist das uns überlassen?
3. Muss diese Funktion gefüllt werden?

Code: Alles auswählen

void CImageFile::write(const CImage& image) const
{   
}
EDIT : Es waren 3 Fragen^^

Antworten