نمایش نتایج 1 تا 4 از 4

نام تاپیک: کنترل تابع بازگشتی

  1. #1
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    کنترل تابع بازگشتی

    ما اگه یک تابع بازگشتی رو در خودش فراخوانی کنیم چطوری می شه ؟؟؟
    یعنی همچین چیزی

    int b;
    int recursive(int a){
    if(){}// control func
    recursive (recursive(b));
    }

    و چطور باید کنترلش کرد؟؟؟؟/

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: کنترل تابع بازگشتی

    همه چیز به if شما بستگی دارد اصلا فرقی ندارد که تابع چگونه خودش را فراخوانی میکند.

  3. #3
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: کنترل تابع بازگشتی

    نه منظورم اینه که چطوری می شه استدلالش کرد مثلا سری فیبوناتچی که بازگشت می خوره در هر مرحله 2 قسمت مجزا می شه حالا اگه در خودش دوباره خودش رو فراخوانی کنیم چطوری می شه؟؟؟
    اگه یک مثال بذارید ممنون می شم

  4. #4

    نقل قول: کنترل تابع بازگشتی

    یک مثال ساده :


    #include <iostream>
    #include <conio>
    int f(int n){
    if(n==1 || n==0)
    return 1;
    else
    return 1+f(f(n/2));}
    //=====================
    int main(){
    for(int i=1;i<=10;i++)
    cout<<i<<" "<<f(i)<<endl;
    getch();
    }


    trace کردنش با توابع بازگشتی معمولی فرقی نداره ؛

    مثلا F با ورودی 5 :


    f(5) :
    1+f(f(2));
    f(2) = 1+f(f(1));
    f(1)=1;
    f(2) = 2;
    f(5) = 3;


    موفق باشید .
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 1.jpg‏ (16.3 کیلوبایت, 4 دیدار)
    آخرین ویرایش به وسیله Salar Ashgi : دوشنبه 16 فروردین 1389 در 12:24 عصر دلیل: تکمیل






قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •