009
20.11.2008, 13:42 Uhr
tobbbbi
|
Zitat von Hans: |
Hi,
also wenn Du einen Anfängerkurs besuchst, und die Ausgabe mit fprintf erledigen musst, können wir davon ausgehen, das Ihr bisher mit C arbeitet, aber nicht mit C++. Dem entsprechend ist das hier:
tabu. Denn das wäre auch C++. (Die Konstruktion, die in der Aufgabenstellung als Vektor bezeichnet wird, wird oft auch Array oder Feld genannt. ) Wenn ihr mit einem Compiler arbeitet, der den C Standard von 1999 (kurz C99 genannt) beherscht, dann sollte long long funktionieren. Ich hab's nicht ausprobiert, aber es spricht einiges dafür, das der Wertebereich von long long trotzdem nicht ausreicht, um die Zahlen ab einer bestimmten Grösse darstellen zu können. Deshalb wird es wohl nötig sein, sich eine Langzahlimplementierung auszudenken, die mit so grossen Zahlen umgehen kann.
Man kann den ersten Satz der Aufgabe auch so deuten, das die einzelnen Ziffern der Zahlen in einem Vektor abzulegen sind. Das wäre der erste Schritt in Richtung einer Ganzzahlimplementierung. Bei dieser musst Du die Formatierung selber erledigen, indem Du vorher bestimmst, wieviele Stellen die Zahl hat, und die übrigen Stellen zuvor mit Leerzeichen füllst. Bei den Standardtypen wie int oder long kannst Du die Formatierung der Ausgabe mit entsprechenden Bezeichnern im Formatstring von printf erledigen lassen, also mit "%10ld" zum Beispiel.
Hans
|
Puh wow...also ich wäre jetzt von der Aufgabenstellung her nie auf die Idee gekommen, dass man einen Vektor dafür hernehmen soll um die einzelnen Ziffern einer Zahl abzulegen. Wenn ich das richtig verstehe, dann müsste ich bei diesem Ansatz ja einmal einen Vektor für jede Fibonacci Zahl erstellen und dann nochmal einen Vektor in dem alle Fibonaccizahlen respektive Vektoren abgelegt werden. Sprich Vektoren im Vektor. m Maximalfall wären es dann 1001 Vektoren...1000 für jeweils eine berechnete Fibonaccizahl und einer für die komplette Fibonaccireihe - richtig? Was für deine Annahme spricht ist, dass er uns eine Teilimplementierung der Vektorklasse gecodet hat, in welcher die "add"-Funktion als Übergabe einen int-Wert erwartet.Aber ob das irgendwas zu sagen hat? Evtl. war es ja nur so ein Grobgerüst, welches wir noch modifizieren sollen?
Und mit dem, was du am Anfnag gesagt hast, hast du teilweise Recht. Wir dürfen keine vorgefertigten Konstrukte verwenden, also auch keinen Vektor...Sinn der Übung ist ja auch grade, mal selbst einen Vektor über Felder zu implementieren. Allerdings arbeiten wir sind schon auch mit c++ und können auch das Objektkonzept verwenden. Praktisch ein Mischmasch von beidem. |