Verständlissproblem Rechnen im Array

Steven27

Grünschnabel
Hallöchen,

Ich habe im I-net ein Beispiel Code zum Berechnen von Fibonacci Zahlen gefunden.
Es funktioniert, aber ich habe an einer stelle ein verständliss Problem:confused:
C++:
int main(void)
{	
	int fibo[40];
	fibo[0]=1;
	fibo[1]=1;

	for (int i=2;i<40;i++)
	{
		fibo[i]=fibo[i-1]+fibo[i-2]; <-- Hier ist das Problem*** 
	}
	for(int i=0;i<40;i++)
	{
		printf("%20d",fibo[i]);
	}
	return 0;
}
*** So wie ich das Verstehe, das Ergebniss von fibo[i-1]+[i-2] kommt ins array an Position 2... So beim ersten durchlauf ist i=2 --> [2-1] + [2-2] = 1 es kommt aber 2 raus, was ja für die Fibonacci-Floge richtig ist. Ich versteh nur nicht wieso 2 rauskommt.

Vieleicht weis einer von euch warum.
Gruß
Steven
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

So beim ersten durchlauf ist i=2 --> [2-1] + [2-2] = 1

So siehst du das falsch. I=2 ist zwar richtig, es wird aber nicht mit der 2 gerechnet. Es wird einmal auf das Feld 1 und einmal auf Feld 0 im Array zugegriffen. Die Zahlen, die in diesen Feldern stehen, werden addiert. Das ist im ersten Durchlauf 1. Also in beiden Feldern steht die 1 und 1+1 ist bekanntlich gleich 2.

MFG

Sascha
 
Danke für die schnelle Antwort.

Ahhh ist doch klar...Manchmal hat mal echt ein Brett vor dem Kopf.

Bye
Steven
 
Zurück