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

نام تاپیک: شمارش تعداد دفعات صدا زدن یک تابع

  1. #1

    شمارش تعداد دفعات صدا زدن یک تابع

    سلام
    میخوام برنامه ای بنویسم که به تعداد دفعاتی که تابع صدا زده میشه، پارامتر تابع رو (که یک string هست) چاپ کنه. و برای محاسبه تعداد دفعات فراخوانی تابع نباید از یک پارامتر int که در هدر تابع تعریف شده استفاده کنه.
    این پروژه دانشجویی نیست، یکی از سوالات کتابی هست که میخونم.
    برنامه کامل رو نمیخوام، فقط برای تعداد دفعات تکرار تابع نمیدونم باید از چه راهی استفاده کنم. اگه میشه ی راهنایی بکنید.
    در ضمن اینکه در main یک متغیر تعریف کنم و بعد از صدا زدن تابع مقدار اون رو افزایش بدم و از for برای تکرار صدا زدن تابع استفاده کنم، هم ، غلطه.
    ممنون

  2. #2

    نقل قول: درخواست راهنمایی در نوشتن یک برنامه

    دوست عزیز به متغیر از نوع static تعریف کن تو تابع مشکلت حله



    void geek(string s)
    {
    static int x;
    x++;

    for(int i=0;i<x;i++)
    cout<<s;

    }




    چون متغیر x یه متغیر static هستش تو هر دفعه اجرای تابع مقدار قبلیش ذخیره می شه
    آخرین ویرایش به وسیله r00tkit : پنج شنبه 06 آبان 1389 در 10:52 صبح
    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  3. #3

    نقل قول: درخواست راهنمایی در نوشتن یک برنامه

    میتونید از متغیرهای global استفاده کنید :


    #include <iostream>
    #include <conio>
    #include <string>
    using namespace std;
    int cnt=0;
    void print(string str,int n){
    cnt++;
    for(int i=1;i<=n;i++)
    cout<<str<<endl;}
    //========================
    int main(){
    for(int i=1;i<=4;i++){
    print("salar",i);
    cout<<"========\n";}
    cout<<"Count is :"<<cnt<<endl;
    getch();
    }
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg pic.jpg‏ (19.6 کیلوبایت, 7 دیدار)






  4. #4

    نقل قول: درخواست راهنمایی در نوشتن یک برنامه

    نقل قول نوشته شده توسط Salar Ashgi مشاهده تاپیک
    میتونید از متغیرهای global استفاده کنید :


    #include <iostream>
    #include <conio>
    #include <string>
    using namespace std;
    int cnt=0;
    void print(string str,int n){
    cnt++;
    for(int i=1;i<=n;i++)
    cout<<str<<endl;}
    //========================
    int main(){
    for(int i=1;i<=4;i++){
    print("salar",i);
    cout<<"========\n";}
    cout<<"Count is :"<<cnt<<endl;
    getch();
    }


    میخوام برنامه ای بنویسم که به تعداد دفعاتی که تابع صدا زده میشه، پارامتر تابع رو (که یک string هست) چاپ کنه
    و برای محاسبه تعداد دفعات فراخوانی تابع نباید از یک پارامتر int که در هدر تابع تعریف شده استفاده کنه.
    در ضمن اینکه در main یک متغیر تعریف کنم و بعد از صدا زدن تابع مقدار اون رو افزایش بدم و از for برای تکرار صدا زدن تابع استفاده کنم، هم ، غلطه.
    تصحیح شد:



    در کد بالا برای اینکه تعدا چاپ رشته (که همون تعداد فراخوانی تابع هستش) ذخیره بشه از i که توسط حلقه به تابع فرستاده شده استفاده شده که طراح سوال اینو نخواسته !!!!

    هر چند cnt تعدا کل فراخوانیها رو نشون داده که طراح سوال اینو مطرح نکرده بود


    int cnt=0;
    void print(string str){
    cnt++;
    for(int i=1;i<=cnt;i++)
    cout<<str<<endl;
    }


    منظور نویسنده اینه که رشتهی مورد نظر تو تابع به تعداد فراخوانی های تابع چاپ بشه و این تعداد فراخوانی نباید توسط حلقه به تابع فرساده بشه
    آخرین ویرایش به وسیله r00tkit : پنج شنبه 06 آبان 1389 در 10:13 صبح
    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  5. #5

    نقل قول: شمارش تعداد دفعات صدا زدن یک تابع

    تصحیح شد:
    چیزی اشتباه نبود که بخواد تصحیح بشه !
    منظور نویسنده اینه که رشتهی مورد نظر تو تابع به تعداد فراخوانی های تابع چاپ بشه و این تعداد فراخوانی نباید توسط حلقه به تابع فرساده بشه
    قرار نیست که همه چی رو آماده به آدم تحویل بدن ، این فقط یه ایده بود ، تکمیل کردن برنامه با اهداف مورد
    نظرش به عهده نویسنده ...






  6. #6
    کاربر تازه وارد آواتار Pouri_sb
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    رشت
    سن
    33
    پست
    82

    نقل قول: درخواست راهنمایی در نوشتن یک برنامه

    نقل قول نوشته شده توسط Salar Ashgi مشاهده تاپیک
    میتونید از متغیرهای global استفاده کنید :


    #include <iostream>
    #include <conio>
    #include <string>
    using namespace std;
    int cnt=0;

    اگه متغیره گلوبالت رو مساوی صفرم قرار ندادی اشکال نداره :دی خودش به طور پیش فرض صفر هست

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

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