Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C / C++ Rekürsif Fibonacci Dizisi ve Herhangi Bir Fibonacci Sayısının Karşılığını Bulma


Rekürsif Fibonacci Dizisi ve Herhangi Bir Fibonacci Sayısının Karşılığını Bulma

AÇIKLAMA

Bu program C veya C++ derleyicisinde geliştirilmiş olan bu programda rekürsif olarak fibonacci sayi dizisi bir sinir değerine kadar hesaplanabilmekte ayrıca istenirse direk fibonacci sayı dizisinde istenilen bir rakamın da kaç olduğu hesaplanabilmektedir. Veritipi olarak double kullanılmış ve böylece daha büyük sayılara ulaşma şansı ortaya çıkmıştır.

Kullanılan derleyici C++ Builder derleyicisi olduğundan include, #pragram hdrstop vs gibi bazı header dosyaları görünmektedir. Kullandığınız derleyiciye göre bu headerları kaldırmanız gerekmektedir.

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5. #include <stdio.h>
  6. #include <conio.h>
  7. double fibonacci(double);
  8. //---------------------------------------------------------------------------
  9.  
  10. #pragma argsused
  11. int main(int argc, char* argv[])
  12. {
  13. int islem; bool dongu=true;
  14. while(dongu)
  15. {
  16. printf("Islem Seciniz....\n");
  17. printf("1)Bir Sayiya Kadar Fibonacci Dizisinin Gosterilmesi\n");
  18. printf("2)Herhangi Bir Sayinin Fibonacci Dizisindeki Degeri\n");
  19. printf("3)Cikis\n");
  20. printf("Seciminizi Yapiniz: ");
  21. scanf("%d",&islem);
  22. if(islem==1)
  23. {
  24.   printf("Fibonacci Dizisi İcin Sinir Degeri Giriniz: ");
  25.   scanf("%d",&islem);
  26.   printf("\n");
  27.   for(int i=0;i<=islem;i++)
  28.   printf("Fibonacci %d=%f\n",i,fibonacci(i));
  29.   printf("\n");
  30. }
  31. else if(islem==2)
  32. {
  33.   printf("Fibonacci Degeri Hesaplanmak Istenen Degeri Giriniz: ");
  34.   scanf("%d",&islem);
  35.   printf("\n");
  36.   printf("Fibonacci %d=%f\n",islem,fibonacci(islem));
  37. }
  38. else if(islem==3)
  39. dongu=false;
  40. }
  41. printf("\nIyi Gunler....");
  42. getche();
  43. return 0;
  44. }
  45. //---------------------------------------------------------------------------
  46. double fibonacci(double x)
  47. {
  48.  if(x==0||x==1)
  49.  return x;
  50.  else
  51.  return fibonacci(x-1)+fibonacci(x-2);
  52. }
  53.  

 

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!