7574
Comment:
|
2243
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from ProgrammierenCplusplusSS2010/Blatt4Fragen == Fragen und Kommentare zur 4. Vorlesung / zum 4. Übungsblatt == Wie soll dieser String ausgewertet werden? "1 4,3 5" bzw. muss man den Fall auswerten das in einer Zahl ein Leerzechen stehen kann? '''Manuel 13. Mai 15:43''' |
== Fragen und Kommentare zur 8. Vorlesung / zum 8. Übungsblatt == Auf vielfachen Wunsch haben wir jetzt statt dem Wiki ein ... [trommelwirbel] ... [[http://stromboli.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/forum|Forum]] !!! |
Line 7: | Line 4: |
Soo, ich weiß, ich weiß aber leider haben wir immernoch keine OFF-TOPIC-Section und ich dachte das muss ich mal mitteilen: http://www.youtube.com/watch?v=FIT3WlIyy1Y&NR=1&feature=fvwp '''fry UTC+1 1273757790UTS''' |
|
Line 11: | Line 5: |
Wie soll eigentlich genau mit einer Liste umgegangen werden, die Beispielsweiße so aussieht: ",,,5,7 ,3". Soll das Programm dann daraus : 0,0,0,5,7,3,-1 machen, oder die 0er weg lassen? '''David Z. 13. Mai 15:04''' | @Es funktioniert auch mit leerzeichen.Die sache mit der Menge habe erst heute morgen mit dem Set.h Datei bemerkt, davor habe ich eine andere Implementierung benutzt.. Was das Forum angeht, ich verstehe nicht wieso kann man nicht beides benutzen.(wiki und forum). Naja die lange Seite, ist effizienter als ein 200 Topics in einem Forum. |
Line 13: | Line 9: |
@JonathanN Spontan würde ich dann sagen, dass du entweder die falsche Variable bearbeitest (unwahrscheinlich), oder dein Zähler irgendeinen Wert hat, den er nicht haben sollte. Probier doch mal: | '''Dario''' @Dario. Also mich stören erstmal die Leerzeichen zwischen ''array'' und ''_bits''. Das klappt so und ist richtig hier reinkopiert? Zweitens implementieren wir die ''Set''-Klasse. Soll imo heissen, dass wenn ein Element bereits in der Menge ist, dass es dann nicht mehr ein zweites Mal am Ende aufgenommen wird. Ich kenne deine Implementierung hier nicht, aber ''array._bits[2]'' sollte sinngemäß zu einem "ungültigen" Speicherzugriff führen, da für die ''Set<bool>'' Variante zwei Felder ja schon reichen für alle Elemente. Ja, das Forum hat auch Nachteile, aber ich finde es auch besser, als hier auf einer langen Seite zu suchen, ob jemand schon mein Problem in irgendeiner Form vorgetragen hat. '''Dominik 19June 15:38''' Hallo ich möchte mein bool pushBack testen aber irgendwie klappt´s es noch nicht. z.B. wenn ich so teste |
Line 16: | Line 19: |
finallist[k] = -1; //Also warum dieser Befehl nicht ausgeführt wird? printf("%d %d",k,finallist[k]); |
Set<bool> array; array.pushBack(true); array.pushBack(false); // array.pushBack(false); // array.pushBack(true); ASSERT_EQ(true, array. _bits[0]); ASSERT_EQ(false, array. _bits[1]); // ASSERT_EQ(true, array. _bits[2]); |
Line 19: | Line 28: |
'''SebastianS 13Mai10 14:25''' | läuft es, aber wenn ich die kommentierten Zeilen hinzufüge dann klappt es nicht mehr. |
Line 21: | Line 30: |
@Sebastian, ja was in der Schleife steht wird sauber ausgeführt, nur diese Zeile nach der Schliefe iergendwie nicht. Also habe soeben noch mal was geprüft, er geht raus aus der Schleife, denn wenn ich einen printf befehl dahin setzte, der wird aus geführt, oder ist etwas an der Syntax des Befehls "faul"? '''JonathanN 13Mai10 14:12''' | P.S. Auf dem Forum möchte ich nicht schreiben, da ich es zeitaufwändiger und unoriginell finde und zweitens habe ich es nie gewollt. |
Line 23: | Line 32: |
@Hannah: Ah, verstehe, danke :-) @JonathanN: Wird die Schleife ausgeführt? Also kommt er überhaupt zu dem Punkt? Wenn ja, sollte auch die Bedingung ausgeführt werden... Überprüf vlt nochmal deine Klammern :) '''SebastianS 13Mai10 13:22''' | '''Dario 18Jun 21:30''' |
Line 25: | Line 34: |
Kann mir jemand erklären warum beim folgenden Code der Letze Befehl nicht ausgeführ wird | Bitte Ihre Fragen in Zukunft dort stellen, unter der Rubrik "Aktuelles Übungsblatt". Das meiste dort sollte selbst erklärend sein. Sie können sich auf dem Forum registrieren (das macht die Benutzung komfortabler), müssen es aber nicht. |
Line 27: | Line 36: |
{{{ while (bedingung) { ein paar berechnungen } finallist[k] = -1; //Also warum dieser Befehl nicht ausgeführt wird? }}} '''JonathanN 13Mai10 13:27''' @SebastianS: Ok, ich verstehe. Es ist so, Sie dürfen immer annehmen, dass Sie genau zwei Argumente bekommen. In den strings dieser Argumente dürfen allerdings Leerzeichen stehen. Von der Kommandozeile aus geht das zum Beispiel so: ''./ListProcessingMain "1,2,3, 5,6 , 7" "8,9,0, 10"''. Das erste Argument wäre dann ''1,2,3, 5,6 , 7'' und das zweite Argument wäre ''8,9,0, 10''. '''Hannah 13Mai10 13:05''' @Hannah: Nunja, ich verstehe Aufgabe 1 so, dass wir auch aus so etwas: ''1,2,3, 5,6,7 8,9,0, 10,11'' zwei Listen generieren sollen (''1,2,3,5,6,7'' und ''8,9,0,10,11''). Allerdings würde argv bei obiger Argumentenübergabe ja folgendes liefern: ''[1] => "1,2,3,", [2] => "5,6,7", [3] => "8,9,0", [4] => "10,11"'' Somit erhalten wir ja nicht zwei sondern vier Argumente. An sich kein Problem, nur ist jetzt die Frage, ob wir in main() solche Vorkommnisse überprüfen sollen und die Strings entsprechend "zusammenkleben" sollen, oder ob wir das ganze an die Funktion weiterreichen sollen, damit die das entsprechend verarbeitet. '''SebastianS 13Mai10 12:50''' @SebastianD: Ich würde erstmal gerne verstehen, wofür Sie diesen Rückgabewert brauchen. In meiner Lösung des Übungsblattes brauche ich den nicht. Genau wie die anderen Listen soll ja auch die Ergebnisliste mit einem ''-1'' aufhören, so dass man also immer herausfinden kann wo Sie aufhört. Listen, die Ihre eigene Größe kennen ohne erst einmal durchzulaufen, machen mir in einer späteren Vorlesung. '''Hannah 13Mai10 9:50''' @Jonathan: Ja, genau, man muss die ''.h'' Datei in der ''.cpp'' includen, das macht man aber auch eigentlich immer so, wir haben es bisher bloß noch nie gebraucht, jetzt brauchen wir es zum ersten Mal. Falls Sie sich fragen, ob es korrekt ist: es ist korrekt, in der ''.h'' Datei stehen ja die Deklarationen und in der ''.cpp'' Datei die Definitionen. Das ist genauso wie erst ''int x;'' zu schreiben und dann später im Programm ''x = 4;''. Zum zweiten Teil Ihrer Frage: Ja, die Funktion soll drei Argumente haben: die beiden Eingabelisten und die Ausgabeliste, alle als ''int*''. Wobei Sie darauf achten müssen die Ausgabeliste vor dem Aufruf als Feld zu deklarieren, genau wie wir das in der Vorlesung vor den Aufrufen von ''parseListOfIntegers'' gemacht haben. '''Hannah 13Mai10 9:48''' @SebastianS: Die ''parseListOfIntegers'' Funktion soll nur eine Liste bearbeiten. Ich verstehe das Problem, dass sich dann bei Aufgabe 1 stellen soll nicht, erklären Sie es doch bitte nochmal genauer bzw. an einem konkreten Beispiel. Zum zweiten Teil der Frage: Ja, die Konvention ist, dass eine Liste bei ''-1'' zu Ende ist, egal was danach noch kommt. Genauso wie in ''C / C++'' ein string zu Ende ist wenn ein null-character kommt, egal was danach noch kommt. Und genau, die leere Liste ist die, wo gleich als erstes Element die ''-1'' kommt. '''Hannah 13Mai10 9:44''' Spricht irgendetwas gegen eine Änderung des Rückgabetyps der ''parseListOfIntegers''-Funktion? Ich würde die sonst dahingehend ändern, dass ich zurückgebe, wie viele Elemente die Liste enthält. '''SebastianD 12Mai10 23:59''' ---- /!\ '''Edit conflict - other version:''' ---- Guten Abend, dann bring ich mal gleich auch meine Fragen hier rein. Also die Variable MAX_LIST_SIZE kann ich in der .cpp Datei ja nicht nutzen wenn ich die .h nicht include, dies ist ja aber grad, das was nicht passieren soll. Diesen Wert brauch ich ja aber um zuüberprüfen, dass mein i mir nicht zu weit wegläuft, oder? Dann zum AufgabenTeil 2? Soll hier die Funktion diesmal die neue Liste als Ausgabewert haben, oder nehme ich wieder eine Liste, dann als 3. Parameter auf? Da ja die 2 Listen ja schon in der Main aufgeteilt werden, und mir also so schon 2 Parameter liefert? '''JonathanN 12Mai10 22:23''' ---- /!\ '''Edit conflict - your version:''' ---- Guten Abend, dann bring ich mal gleich auch meine Fragen hier rein. ---- /!\ '''End of edit conflict''' ---- ---- /!\ '''Edit conflict - other version:''' ---- ---- /!\ '''Edit conflict - your version:''' ---- Also die Variable MAX_LIST_SIZE kann ich in der .cpp Datei ja nicht nutzen wenn ich die .h nicht include, dies ist ja aber grad, das was nicht passieren soll. Diesen Wert brauch ich ja aber um zuüberprüfen, dass mein i mir nicht zu weit wegläuft, oder? Dann zum AufgabenTeil 2? Soll hier die Funktion diesmal die neue Liste als Ausgabewert haben, oder nehme ich wieder eine Liste, dann als 3. Parameter auf? Da ja die 2 Listen ja schon in der Main aufgeteilt werden, und mir also so schon 2 Parameter liefert? '''JonathanN 12Mai10 22:23''' ---- /!\ '''End of edit conflict''' ---- Ist es zulässig, dass man die parseListOfIntegers Funktion derartig umbaut, dass sie als Argument alle Argumente des Programms entgegen nimmt, und diese selbst in zwei Listen aufteilt? Weil sonst sehe ich nicht, wie man Aufgabe 1 lösen soll, wo doch die Trennung schon in der ListProcessingMain durchgeführt wird? Weitere Frage: Dürfen wir beim Zusammenführen davon ausgehen, dass bei erreichen eines Elementes mit dem Wert -1 abgebrochen werden darf, da Ende der Liste? Eine Liste die mit -1 beginnt ist ja für uns eine "leere" Liste, oder? '''SebastianS 12Mai10 22:06''' [[http://www.gnu.org/software/make/manual/make.html#reference|Hier]] und [[http://www.gnu.org/software/autoconf/manual/make/Automatic-Variables.html|hier]]. Links sind in den Folien der heutigen Vorlesung entnommen. '''SebastianS 12Mai10 19:41''' Wo kann man denn den Link zu der Erklärung für den verwendeten Make Syntax finden? '''Daniel 12Mai10 18:43''' |
'''Hannah 18Jun10 1:17''' |
Fragen und Kommentare zur 8. Vorlesung / zum 8. Übungsblatt
Auf vielfachen Wunsch haben wir jetzt statt dem Wiki ein ... [trommelwirbel] ... Forum !!!
@Es funktioniert auch mit leerzeichen.Die sache mit der Menge habe erst heute morgen mit dem Set.h Datei bemerkt, davor habe ich eine andere Implementierung benutzt.. Was das Forum angeht, ich verstehe nicht wieso kann man nicht beides benutzen.(wiki und forum). Naja die lange Seite, ist effizienter als ein 200 Topics in einem Forum.
Dario
@Dario. Also mich stören erstmal die Leerzeichen zwischen array und _bits. Das klappt so und ist richtig hier reinkopiert?
Zweitens implementieren wir die Set-Klasse. Soll imo heissen, dass wenn ein Element bereits in der Menge ist, dass es dann nicht mehr ein zweites Mal am Ende aufgenommen wird. Ich kenne deine Implementierung hier nicht, aber array._bits[2] sollte sinngemäß zu einem "ungültigen" Speicherzugriff führen, da für die Set<bool> Variante zwei Felder ja schon reichen für alle Elemente.
Ja, das Forum hat auch Nachteile, aber ich finde es auch besser, als hier auf einer langen Seite zu suchen, ob jemand schon mein Problem in irgendeiner Form vorgetragen hat. Dominik 19June 15:38 Hallo ich möchte mein bool pushBack testen aber irgendwie klappt´s es noch nicht. z.B. wenn ich so teste
Set<bool> array; array.pushBack(true); array.pushBack(false); // array.pushBack(false); // array.pushBack(true); ASSERT_EQ(true, array. _bits[0]); ASSERT_EQ(false, array. _bits[1]); // ASSERT_EQ(true, array. _bits[2]);
läuft es, aber wenn ich die kommentierten Zeilen hinzufüge dann klappt es nicht mehr.
P.S. Auf dem Forum möchte ich nicht schreiben, da ich es zeitaufwändiger und unoriginell finde und zweitens habe ich es nie gewollt.
Dario 18Jun 21:30
Bitte Ihre Fragen in Zukunft dort stellen, unter der Rubrik "Aktuelles Übungsblatt". Das meiste dort sollte selbst erklärend sein. Sie können sich auf dem Forum registrieren (das macht die Benutzung komfortabler), müssen es aber nicht.
Hannah 18Jun10 1:17