ايران ويج

نسخه‌ی کامل: برنامه نویسی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام میشه برنامه های++c برام بنویسید
1_ارایه ی 10عنصری را خوانده ومجموع ان را توسط تابعی محاسبه کنید0(بازگشتی وغیر بازگشتی)
2_عدد3رقمی را دریافت کرده وبه کمک یک تابع فرعی مجموع عداد مثبت ومضرب 3که کوچکتر یا مساوی n باشد را محاسبه کرده وبه تابع اصلی برگرداندو درتابع اصلی چاپ کند(بازگشتی وغیر بازگشتی )
3_دو عدد صحیح aوbرا گرفته وبه کمک یک تابع بازگشتی a+bرا محاسبه کنید ودر قسمت اصلی برنامه چاپ کند(بازگشتی و غیر بازگشتی)
4_برنامه ای بنویسید که ارایه یرا خوانده در یک تابع معکوس ان را چاپ کند وبه کمک تابع فرعی (بازگشتی و غیر بازگشتی*)
برنامه بنویسید که عدد صحیح مثبتی را گرفته و توسط تابع فرعی هر یک از ارقام ان را چاپ کنید (بازگشتی و غیر بازگشتی)
6_برنامه ی بنویسید برای محاسبه جمله nسری فیبوناچی بنویسید(بازگشتی وغیر بازگشتی)
7_برنامه ای بنویسید بازگشتی برای محاسبه بزرگترین مقسوم علیه مشترکدو عدد
مسئله معروف برج هانوی به صورت بازگشتی
سلام

خانم سارا انگوري اگه شما يه چرخي توي كوچه پس كوچه هاي ايرانويچ بزنين متوجه ميشين كه فقط به سوالهايي جواب داده ميشن كه ازشون راهنمايي بخوان و نه لغمه (لقمهBiggrin) آماده.
ولي حالا كه تا اينجا اومدين بهتره كه دست خالي نرين . اوليشو نشتم ، يه توضيحي در مورد ش ميدم ، اگه همين روشو تو بقيه هم به كار بگيرين به راحتي به نتيجه ميرسشن .
اول غير بازگشتي كه خيلي سادس:
کد:
#include<iostream.h>
int n[10];
int a(int i){
    int b=0;
    while(0<=i){
        b=b+n[i];
        i--;
    };
    return b;
}
void main(){
    int i=0;
    while(i<10){
        cout<<"ADADE ["<<i+1<<"]=";
        cin>>n[i];
        i++;
    }
    cout<<'\n'<<a(10)<<'\n';
}

حالا بازگشتي:

کد:
#include<iostream.h>
int n[10];
int a(int i ){
    if(i<10)
        return n[i]+a(i+1);
    else
        return 0;
    
}
void main(){
    int i=0;
    while(i<10){
        cout<<"ADADE ["<<i+1<<"]=";
        cin>>n[i];
        i++;
    }
    cout<<'\n'<<a(0)<<'\n';
}
همونطور كه مشاهده ميكنين ، فرق تابع بازگشتي با غير بازگشي تو اينه كه تو غير بازگشتي تابع هيچ وقت خودشو فراخواني نميكنه ، در صورتي كه در بازگشتي حتما خودشو فراخواني ميكنه .
روش كار به اين صورته كه اول بايد يه رابطه بازگشتي براي مسئلت تعريف كني كه تو اينجا ميشه :
کد:
sum[n]=sum[n-1]+ni
با اين رابطه خيلي راحت ميتوني تابع رو روي sum بگيري ، چون كه هميشه داره به خودش ارجاع داده ميشه .
اميدوارم توضيحاتم بتونه تو انجام بقيه تمرينات كمكتون كنه.