C++ Fibonacci Zahlen

Status
Für weitere Antworten geschlossen.

Nureinnickname!

Commodore
Registriert
Jan. 2010
Beiträge
4.229
Code:
#include <iostream>
#include "bigint-2010.04.30\BigIntegerLibrary.hh"
#include "StdAfx.h"

using namespace std;

#define MAX 53

BigInteger fib(int n)
{
	BigInteger fib_arr[MAX+1];
	int i;
	fib_arr[0]=0;
	fib_arr[1]=1;
	for(i=2;i<=n;i++)
	{
		fib_arr[i]=fib_arr[i-1]+fib_arr[i-2;]
		}
	return fib_arr[n-1];
}
int main()
{
	cout << fib(MAX);
	system("pause");
	return 0;
}

Kann mir jemand helfen? Bin C++ neuling und verstehe nicht warum das Programm nicht funzt.

Habe alles so übernommen wie in diesem Video Klick trotzdem klappt es nicht :(, woran kann das liegen?
 
Wenn du uns sagst was nicht funktioniert wäre das sehr hilfreich.
Auf den ersten blick ist die Zeile
Code:
fib_arr[i]=fib_arr[i-1]+fib_arr[i-2;]
syntaktisch falsch. Der Strichpunkt gehört ans Ende:
Code:
fib_arr[i]=fib_arr[i-1]+fib_arr[i-2;]
 
Du willst es ja scheinbar über Rekursion lösen, machst aber eine For-Schleife.

Würde eher sagen:

int fib(int n)
{
switch (n)
{
case 0: return 0;
case 1: return 1;
default: return fib(n-1) + fib(n-2);
}
}
 
Nein, die Lösung ist iterativ und scheint mir korrekt. Nur das Semikolon gehört wie bereits erwähnt ans Ende des Statements.

Code:
fib_arr[i]=fib_arr[i-1]+fib_arr[i-2];
 
Eine mögliche Lösung für die Hausaufgaben aus einem Video genommen, dann klappt das nicht also als nächstes ab ins Forum damit. Ein bisschen mehr Eigeninitiative bitte! Hausaufgaben sind dazu da dass du sie selbst löst.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben