Fibonacci Reihe
-
Ich denke nicht das eher nicht stört da wir es in der schule
schon öfters so gemacht haben aber ich werde es mal versuchen
-
Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ (auch C++0x und C++11) in das Forum C (C89, C99 und C11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich habe mit meinen programm immer noch das selbe problem und zwar wenn ich
es ausführe sollte es so aussehen:
Ich nehm jetzt als Höchstwert 15 anHöchstwert eingeben : 15
1
1
2
3
5
8
13
bei mir sieht es allerdings so ausHöchstwert eingeben : 15
3
5
8
13
21
-
Erstes problem behoben jetzt funktioniert nur noch das mit dem höchstwert nicht richtig also wenn der z.B 15 ist dann hört das programm nicht bei 13 sondern bei der nächsten zahl darüber also 21 auf weiß da jemand wie man das behebt
-
Swordfish schrieb:
while( ( c = a + b ) < max )
Oder b ausgeben.
-
Hab das jetzt auch geschafft danke an alle die mir geholfen haben
Hier das fertige programm falls jemand das selbe problem hat:#include <stdio.h>
#include <stdlib.h>int main()
{
int a, b, c, h;
printf("H\x94""chstwert eingeben: ");
scanf("%d", &h);
a=1;
b=1;
c=1;
if(h >= 1)
{
printf("1\n");
printf("1\n");
while(c <= h -a)
{
a=b;
b=c;
c=a+b;
printf("%d", c);
printf("\n");
}
printf("\n");
}else
{
printf("Der H\x94""chstwert muss mindestens 1 betragen\n\n");
}
system("pause");
}
-
Furble Wurble hat's Dir gesagt. Die Variable c ist am Anfang der while-Schleife nicht initialiesert. Sie kann also jeden Wert innehaben. Initialisiere dort, wo Du die Variablen a und b mit Werten belegts, c mit 0.
-
so:
#include <stdio.h> #include <stdlib.h> int main() { int a, b, c, h; printf("H\x94""chstwert eingeben: "); scanf("%d", &h); //a=1; braucht es nicht, da a mit b überschrieben wird b=0; // b ist der Vorgänger von c also =0; -> 0 1 1 2 3 5 ... c=1; // c ist die erste Fibonaccizahl, also =1 if(h >= 0) { while(c <= h) { printf("%d", c); // zunächst die aktuelle Fibo-Zahl ausgeben printf("\n"); a=b; // ... danach erst eine neue berechnen b=c; c=a+b; } // am Anfang der Schleife wird geprüft, ob diese Zahl (c) nicht zu groß wird printf("\n"); } else { printf("Der H\x94""chstwert muss mindestens 1 betragen\n\n"); } system("pause"); }
-
Werner_logoff schrieb:
so:
#include <stdio.h> #include <stdlib.h> int main() { int a, b, c, h; printf("H\x94""chstwert eingeben: "); scanf("%d", &h); //a=1; braucht es nicht, da a mit b überschrieben wird b=0; // b ist der Vorgänger von c also =0; -> 0 1 1 2 3 5 ... c=1; // c ist die erste Fibonaccizahl, also =1 if(h >= 0) { while(c <= h) { printf("%d", c); // zunächst die aktuelle Fibo-Zahl ausgeben printf("\n"); a=b; // ... danach erst eine neue berechnen b=c; c=a+b; } // am Anfang der Schleife wird geprüft, ob diese Zahl (c) nicht zu groß wird printf("\n"); } else { printf("Der H\x94""chstwert muss mindestens 1 betragen\n\n"); } system("pause"); }
danke das du mein programm verbessert hast
kommt sicher besser rüber als wenn ich dem lehrer mein programm zeige
-
kommt sicher besser rüber als wenn ich dem lehrer mein programm zeige
Noch besser ist, wenn du etwas gelernt hast.