Rechnerübung2


jo, aber in den FOlien steht doch:

row_ptr(n+1) = #num_non_zero(A) + 1

in der Beispiel Matrix gibts 9 Elemente die ungleich 0 sind, also müsste da doch ne 10 stehen oder nicht ?
wäre aber doof fürs rekonstruieren…


ja, aber es geht ja nur darum, wie das in der DATEI abgespeichert wird.
danach muss man sich richten, also nicht nach den angaben in den folien.
das ist jedenfalls meine ansicht, da das dann der spezifikation entspricht.

(...)
for (int i = 0; i < [b]m_nValues[/b]; i++) {
      file >> m_value[i];
    }

  for (int i = 0; i < [b]m_nValues[/b]; i++) {
      file >> m_colIdx[i];
    }
(...)

das heißt ja, dass dort nur bis m_nValues gezählt wird,
also würdest du in deinem fall bei 10 die matrix verhunzen, weil
du dann dein m_value[9] von deinen m_colIdx[ i]
liest.

:slight_smile: genau das
einwände, irgendjemand?


Es ist etwas verwirrend, aber auf dem Übungsblatt und in der C++ Aufgabe logischerweise auch, fängt man mit 0 an zu zählen, ergo ist das letzte Element+1 = 9.
In den Folien und in der Papierübung haben wir mit 1 begonnen.


Die Aufgabe 3c kann man ja entweder sehr sehr einfach (=faul und ineffizient) oder doch aufwändiger, und damit den 4 Punkten angemessener, lösen.
Was habt ihr denn gemacht? Meint ihr für nen Zweizeiler gibts volle 4 Punkte (richtiges Ergebniss vorrausgesetzt)? :smiley:


Lustigerweise kann man die Aufgabe nicht anders als “faul” lösen, da man von aussen nicht auf die Elemente der CRS-Matrix zugreifen kann.


Das hab ich mich aber auch schon gefragt…
Also reicht es, die Matrix mittels früherer Teilaufgabe in “normale” Matrix-Form zu bringen und dann mit in Aufgabe 2 implementierter Multiplikation den Vektor ran zu multiplizieren?


Doch, der Operator ist als friend deklariert, man hat also Zugriff ^^

Ich hab’s mal so implementiert, wie’s wohl gedacht ist, ist ja auch nicht viel Arbeit und irgendwie sinnvoller :wink:


Wie ekelig kann ein Sprache sein… das orkisch der Programmiersprachen :smiley:


och C++ ist da noch lang nicht das Maß aller Dinge :slight_smile:


Die Aufzaehlung ist nicht lang, die hinter C++ folgt. Und alle Sprachen die folgen werden signifikant weniger benutzt. Klar ist intercal schlimmer, aber niemand nimmts :slight_smile:


also quirin hat gesagt, wir sollten in der aufgabe das crs format ausnutzen :slight_smile:


Hat er das so gesagt dass man das mitbekommen müsste?
Bei uns in der Übung wurde kein Wort darüber verloren …


hab ihn per email gefragt.


Naja “ausgenutzt” hätte ich die vorherigen Teilaufgaben, über das Wort kann man streiten… =)
Aber es ist so gedacht, dass wir in CRS multiplizieren, ja… :slight_smile:


muss man auch makefile mitabgeben?
auf dem aufgabenblatt steht “Kopieren sie Ihre Lösung(Makefile, cpp-Dateien, h-Dateien)” nach …handin… wir haben doch das letzte mal kein Makefile abgegeben. Die Aufgaben sind teilweise fehlerhaft, deswegen weiß ich nicht mehr, wo was richtig ist und wo sie sich vertippt haben… :huh:


Es war doch ein Makefile dabei, dann geben wir das halt wieder mit ab :smiley:


:smiley:


Was bitte sollen wir nun alles abgeben? Auch alle Dateien, die wir nicht verändert haben, aber auf cpp oder h enden?

Das könnte präziser formuliert sein, war doch bei der ersten Aufgabe auch nicht zu schwer…


Also ich würde mal sagen zu viel abgeben ist weniger schlimm als zu wenig :smiley: cp Makefile *.cpp *.h …
Mir stellt sich die Frage wieso wir den Code eigentlich kommentieren sollen, wenn da sowieso nur ein Testscript die Punkte vergibt. Oder hat das Script eine KI und wertet auch Kommentare aus ? :stuck_out_tongue_winking_eye:


wohl eher fuer den zweck, dass du einen beweis hast, was du denn eigentlich machen wolltest, wenn du mit der punktevergabe nicht einverstanden bist