check home phone-call search send

محاسبه ی ضرب دو عدد به صورت بازگشتی

یکی از سوالات و تمرین هایی که اساتید برنامه نویسی به دانشجویان میدهند سوال : برنامه ای بنویسید که با استفاده از تابع بازگشتی حاصل ضرب دو عدد را محاسبه کند. در این پست میخواهیم جواب این سوال رو به صورت کد سی پلاس پلاس دهیم. در این سورس کد سعی شده که به صورت کاملا دقیق و بهینه ضرب دو عدد به صورت بازگشتی محاسبه شود.

محاسبه ی ضرب دو عدد

سورس کد برنامه محاسبه ی ضرب دو عدد به صورت بازگشتی

#include<iostream>
#include<conio.h>
using namespace std;
int zarb(int,int);
int main()
{
    int a,b;
    cout<<"enter two numbers:\n\n";
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    cout<<"\n\n"<<a<<'*'<<b<<'=';
    cout<<zarb(a,b);
    cout<<"\n\n"<<"press any key to exit...";
    getch();
    return 0;
}
 
//**********
int zarb(int a,int b)
{
    if(b==1)
    return a;
    else
    return a+zarb(a,b-1);
}
 
//>   sourceiran.com
Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

در مجموعه سورس ایران سعی می کنیم علاوه بر آموزش برنامه نویسی، به مسائل مرتبط و مهارت های نرم بپردازیم تا بعدهای مختلف را پوشش دهیم.

دیدگاه کاربران

تعداد دیدگاه های کاربران : 6 دیدگاه
Avatar
zeynab
پاسخ دهید

سلام وقتتون بخیر میشه قسمت int zarb که نوشتین با عدد مثال بزنین و توضیح بدین>

    Avatar
    پشتیبان سورس ایران در پاسخ zeynab
    پاسخ دهید

    سلام
    وقت بخیر
    تابع zarb() یک تابع بازگشتی است که برای محاسبه حاصلضرب دو عدد بدون استفاده از عملگر ضرب استفاده می‌شود. این تابع دو آرگومان از نوع int به نام‌های a و b می‌گیرد و حاصلضرب این دو عدد را به عنوان خروجی برمی‌گرداند.

      Avatar
      Zeynab در پاسخ پشتیبان سورس ایران
      پاسخ دهید

      بخشید میشه قسمت if اینارو هن توضیح بدین

        Avatar
        پشتیبان سورس ایران در پاسخ Zeynab
        پاسخ دهید

        بخش if در این کد برای بررسی این است که آیا b برابر با 1 است یا خیر. اگر b برابر با 1 باشد، آنگاه تابع zarb() فقط مقدار a را برمی‌گرداند. این به این دلیل است که ضرب یک عدد در 1، همان عدد است.
        به عنوان مثال، اگر a برابر با 5 و b برابر با 1 باشد، آنگاه تابع zarb() مقدار 5 را برمی‌گرداند.

Avatar
احمد
پاسخ دهید

سلام همین تابع بازگشتی که برا ضرب دو عدد نوشتین همینو به زبان متلب می‌نویسین ؟


شما با موفقیت در خبرنامه ما عضو شدید