C++ Aufgaben / brauche Hilfe

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
Hallo Leute,

ich bräuchte Hilfe bei zwei C++ Aufgaben:

Aufgabe 6 (Bina ̈rdarstellung einer Zahl) Lesen Sie eine ganze Zahl ein. Berechnen Sie die Bina ̈rdarstellung der Zahl und geben diese (in umgekehrter Reihenfolge) aus.

Aufgabe 7 (Fibonacci-Zahlen, optional) Berechnen Sie die ersten 20 Fibonacci-Zahlen, wobei die Fibonacci-Funktion wie folgt defi-
niert ist:
fib(n) := 1 mit n ∈ {0,1} fib(n):=fib(n−1)+fib(n−2) mitn>1.
Berechnen Sie daru ̈ber hinaus den Quotienten von fib(n) und fib(n − 1) fu ̈r 1 ≤ n < 20. An folgender Ausgabe ko ̈nnen Sie sich orientieren:
Fib(0) = 1 Fib(1) = 1 Fib(2) = 2 Fib(3) = 3 Fib(4) = 5 Fib(5) = 8 Fib(6) = 13 Fib(7) = 21 Fib(8) = 34 Fib(9) = 55 Fib(10) = 89 Fib(11) = 144 Fib(12) = 233 Fib(13) = 377 Fib(14) = 610 Fib(15) = 987 Fib(16) = 1597 Fib(17) = 2584 Fib(18) = 4181 Fib(19) = 6765 Fib(20) = 10946
1.000000000000000 2.000000000000000 1.500000000000000 1.666666666666667 1.600000000000000 1.625000000000000 1.615384615384615 1.619047619047619 1.617647058823529 1.618181818181818 1.617977528089888 1.618055555555556 1.618025751072961 1.618037135278515 1.618032786885246 1.618034447821682 1.618033813400125 1.618034055727554 1.618033963166706 1.618033998521803

kann mir jemand sagen wie sich das realisieren lässt... ??
if, switch, for-while schleife usw. kann benutzt werden.
 
  • Like
Reaktionen: Matt-nex

Scotch

Bittenfelder Apfel
Registriert
02.12.08
Beiträge
8.029
Aufgabe 6 ist trivial. Aufgabe 7 ist der Klassiker für Rekursion schlechthin.

Du hast nicht mal 5min lang versucht, eine Lösung zu finden, oder? Oder 20 Sekunden in Google investiert?

Gruss,
Dirk
 

marceo

Granny Smith
Registriert
06.07.09
Beiträge
17
Fibonacchi Zahlen durfte ich letztes Jahr auch ne Aufgabe lösen, nur für 2-1000 durchgänge…

Für 20 Durchgänge ist das einfach. Da passt ja alles in nen int.

Hab das über nen Vektor realisiert. Vektor[0] und Vektor[1] festgelegt, und dann die restlichen Fibonacchi Zahlen ausrechnen lassen und im Vektor speichern. Geht ja dann einfach über ne for-Schleife.

Die Division funktioniert dann genauso über ne for-Schleife mit den zuvor beschriebenen Vektor-Werten
 
  • Like
Reaktionen: nate

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
Aufgabe 6 ist trivial. Aufgabe 7 ist der Klassiker für Rekursion schlechthin.

Du hast nicht mal 5min lang versucht, eine Lösung zu finden, oder? Oder 20 Sekunden in Google investiert?

Gruss,
Dirk

hmm wenn du mir nen ansatz geben könntest für beide wäre ich dir sehr dankbar.
Google finde ich kein gutes Wort dafür damit ich da was finde... und bin erst C++ Anfänger aber muss die Aufgaben halt lösen.

aber ich versuchs auch nochmals selber und per google. Danke trotzdem! :)


edit: Aufgabe 6 hab ich jetzt hinbekommen! nur aufgabe 7 geht garnicht irgendwie :(
 

philo

Roter Stettiner
Registriert
13.10.04
Beiträge
973
Fibonacchi Zahlen durfte ich letztes Jahr auch ne Aufgabe lösen, nur für 2-1000 durchgänge…

Für 20 Durchgänge ist das einfach. Da passt ja alles in nen int.

Hab das über nen Vektor realisiert. Vektor[0] und Vektor[1] festgelegt, und dann die restlichen Fibonacchi Zahlen ausrechnen lassen und im Vektor speichern. Geht ja dann einfach über ne for-Schleife.

Die Division funktioniert dann genauso über ne for-Schleife mit den zuvor beschriebenen Vektor-Werten
Ist ja schön und gut, aber mit deiner Antwort hast du ihm überhaupt nicht geholfen, fürchte ich.

Um das Problem mit dem Überlauf der Zahlen zu haben, bräuchte er ja erstmal funktionierenden Code.
 

marceo

Granny Smith
Registriert
06.07.09
Beiträge
17
Ist ja schön und gut, aber mit deiner Antwort hast du ihm überhaupt nicht geholfen, fürchte ich.

Um das Problem mit dem Überlauf der Zahlen zu haben, bräuchte er ja erstmal funktionierenden Code.

Die 20. Fibonacchi Zahl ist 6765. Er benötigt hier bei seiner Aufgabenstellung also keinen Überlauf. bei 1000 sieht das schon weng anders aus :)
 

philo

Roter Stettiner
Registriert
13.10.04
Beiträge
973
Die 20. Fibonacchi Zahl ist 6765. Er benötigt hier bei seiner Aufgabenstellung also keinen Überlauf. bei 1000 sieht das schon weng anders aus :)

deswegen sagte ich ja, dass dein Kommentar nicht sehr hilfreich war, da er verwirrend.

scotch sagte ja schon, dass es darum geht die Rekursion zu üben ohne sich Gedanken über Überläufe zu machen.

Ich erinnere mich gerade, dass ich es früher faszinierend fand, solch ein Rekursion zu programmieren, da man ja quasi nur die Definition abschreiben muss.:)
 

User 50673

Gast
Ich erinnere mich gerade, dass ich es früher faszinierend fand, solch ein Rekursion zu programmieren, da man ja quasi nur die Definition abschreiben muss.:)

Was ja quasi schon zu viel verraten wäre ;) Ich persönlich bin kein Rekursionsfan, ich bin da eher der iterative :-D
 

Scotch

Bittenfelder Apfel
Registriert
02.12.08
Beiträge
8.029
Ich erinnere mich gerade, dass ich es früher faszinierend fand, solch ein Rekursion zu programmieren, da man ja quasi nur die Definition abschreiben muss.:)

Bei mir entstehen Rekursionen meist unabsichtlich. Finde ich auch faszinierend ;)

wenn ich ehrlich bin garnichts... ich weiß nichtmal genau wie ich da Anfang soll..

Fang' damit an die ersten sagen wir mal 10 Fibonacci-Zahlen "zu Fuss" auf einem Blatt Papier auszurechnen. Und wenn dir das dann zu blöd wird, überleg' wie du das mit einer for-Schleife automatisieren kannst.

Viel Erfolg,
Dirk
 
  • Like
Reaktionen: nate

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
Bei mir entstehen Rekursionen meist unabsichtlich. Finde ich auch faszinierend ;)



Fang' damit an die ersten sagen wir mal 10 Fibonacci-Zahlen "zu Fuss" auf einem Blatt Papier auszurechnen. Und wenn dir das dann zu blöd wird, überleg' wie du das mit einer for-Schleife automatisieren kannst.

Viel Erfolg,
Dirk

ok danke.. guter tipp :) glaube weiss schon in etwa wie :)
danke an alle die mir geholfen haben!
 

philo

Roter Stettiner
Registriert
13.10.04
Beiträge
973
ok danke.. guter tipp :) glaube weiss schon in etwa wie :)
danke an alle die mir geholfen haben!

kleiner Tipp: Rekursion ist, wenn eine Funktion aus sich selbst aufruft. Wichtig dabei ist, dass es immer eine Abbruchbedingung gibt.

Wenn du das beachtest und mein Tipp, dass man die Definition eigentlich nur abschreiben musst, bist du schon fertig. Es ist viel einfacher als du jetzt denkst.

Die Schleife brauchst du eigentlich nur für die 20 Zahlen.

Programmiere die Berechnung der Fibonacci Zahlen unabhängig von der Ausgabe der 20 Zahlen und der Aufgabe mit dem Quotienten!

und nicht vergessen: fib(0) = 0 und nicht 1!

PS: Finde es gut, dass du es selber probierst, denn so lernst du mehr, als wenn du die lösung einfach nur gegoogelt hättest.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
In anderen Foren ist das Fragen nach Hausaufgaben explizit verboten... und ich finde, das ist nicht ohne Grund.

Was sind das für Aufgaben? Wer hat Sie gestellt, was hast Du bisher gemacht, um Sie zu lösen?

Aufgaben werden gestellt, damit DU Dich damit beschäftigst. Nicht, damit ein Forum Sie für Dich löst

Alex
 
  • Like
Reaktionen: michaelny

nate

Pomme Miel
Registriert
03.09.08
Beiträge
1.491
In anderen Foren ist das Fragen nach Hausaufgaben explizit verboten... und ich finde, das ist nicht ohne Grund.

Was sind das für Aufgaben? Wer hat Sie gestellt, was hast Du bisher gemacht, um Sie zu lösen?

Aufgaben werden gestellt, damit DU Dich damit beschäftigst. Nicht, damit ein Forum Sie für Dich löst

Alex

1. sind das keine Hausaufgaben
2. Würde ich die Frage nicht stellen wenn ich es selber lösen könnte
3. ist das nur eine Übunbungsaufgabe
4. hab ich nie nach einer Lösung gefragt, sondern nach Tipps!

die anderen User haben es verstanden und mir geholfen. Also keine sorge ;)
 

sumpfmonsterjunior

Morgenduft
Registriert
17.03.05
Beiträge
167
Sehe es genauso wie below und Du schreibst ja selber, dass es ->Übungsaufgaben<- sind, ergo Hausaufgaben.
Was hast Du denn an begleitmaterial für die Aufgaben?
 

Sid.TUX

Reinette de Champagne
Registriert
20.08.05
Beiträge
414
Da das Semester gerade angefangen hat geh ich wohl recht in der Annahme, dass es Aufgaben aus Informatik I sind (das sind Klassiker)
Da ich ne Zeit lang Studenten in Informatik betreut habe mal 2 Tipps:
1. sich auf die Sprache zu konzentrieren ist ein kapitaler Fehler - konzentrier dich auf die Algorithmen, der Code ist nur Mittel zum Zweck
2. Versuch es selber zu lösen, meiner Erfahrung nach fallen die meisten die sich Hilfe von anderen holen am Ende durch die Prüfung

So nun zum Lösungstipp:
Wie bereits erwähnt trenne Ausgabe und Berechnung. Mache dir dazu als erstes die mathematischen Grundlagen der Fib Zahlen klar.Wenn du das hast überleg dir einen allg. Ablauf um eine beliebige Zahl auszurechnen.


Achja: Je nach Uni und Prof. kann das holen von "Lösungsideen" als Abschreiben gewertet werden und zum (endgültigen) Ausschluß von der Prüfung und damit zum Scheitern des Studiums führen (Hatte da echt mal einen Prof, der wollte das so ausgelegt wissen und dass man Leute meldet die Lösungen angeblich "zusammen" machen oder es allzu arg nach Internet aussieht)