Сайфиев ж. Ф. С++ тилига кириш услубий қўлланма


– листинг. Фибоначчи қатори аъзосининг қийматини топиш учун рекурсияни қўлланилишига мисол


Download 3.45 Mb.
bet34/79
Sana18.10.2023
Hajmi3.45 Mb.
#1707139
1   ...   30   31   32   33   34   35   36   37   ...   79
Bog'liq
cpp buxoro

5.10. – листинг. Фибоначчи қатори аъзосининг қийматини топиш учун рекурсияни қўлланилишига мисол.

  1. #include


  2. int fib(int n);


  3. int main( )

  4. {

  5. int n, javob;

  6. cout << “Izlanayotgan nomerni kiriting:”;

  7. cin >> n;


  8. cout << “\n\n”;


  9. javob=fib(n);


  10. cout<< “Fibonachchi qatorining”<< n

  11. <<“nomeri qiymati ” <

  12. return 0;

  13. }

  14. int fib(int n)

  15. {

  16. cout << “fib(“<< n << “) jarayoni…”;

  17. if (n <3)

  18. {

  19. cout<< “1 qiymatni qaytarayapti!”\n;

  20. return (1);

  21. }

  22. else

  23. {

  24. cout<< “fib(” << n-2 << “) va fib(” <

  25. cout<< “) funktsiyalari chaqirayapti. \n”;

  26. return(fib(n-2)+fib(n-1));

  27. }

  28. }

НАТИЖА:
Izlanayotgan nomerni kiriting:: 6

fib(6) … fib(4) va fib(5) funktsiyalarini chaqirayapti.
fib(4) … fib(2) va fib(3) funktsiyalarini chaqirayapti.
fib(2) … 1 qiymatni qaytarayapti!
fib(3) … fib(2) va fib(1) funktsiyalarini chaqirayapti.
fib(1) … 1 qiymatni qaytarayapti!
fib(2) … 1 qiymatni qaytarayapti
fib(5) … fib(3) va fib(4) funktsiyalarini chaqirayapti.
fib(3) … fib(2) va fib(1) funktsiyalarini chaqirayapti.
fib(1) … 1 qiymatni qaytarayapti!
fib(2) … 1 qiymatni qaytarayapti
fib(4) … fib(2) va fib(3) funktsiyalarini chaqirayapti.
fib(2) … 1 qiymatni qaytarayapti
fib(3) … fib(2) va fib(1) funktsiyalarini chaqirayapti.
fib(1) … 1 qiymatni qaytarayapti!
fib(2) … 1 qiymatni qaytarayapti
Fibonachchi qatorining 6 nomeri qiymati 8 ga teng






Айрим компиляторлар сout объекти қатнашган ифодаларда операторларни қуллашда баъзи қийинчиликлар пайдо бўлади. Агарда компилятор 28 сатрдаги ифода ҳақида огоҳлантириш берса айириш операциясини қавс ичига олинг, бу қатор қуйидаги кўринишга эга бўлсин.
28: cout << “Call fib(“ <<(n-2)<<”) and fib(“ <<(n-2)<< “).\n”;





5.4. – расм. Рекурсив функциянинг ишлаши.


5.5. – расм. Рекурсив функцияларнинг қиймат қайтариши.



Download 3.45 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling