آموزش ++c, زبان c++

قرینه کردن عدد در سی پلاس پلاس (Reverse Number)

قرینه کردن عدد در سی پلاس پلاس

در این قسمت تیم کدگیت را با آموزش قرینه کردن عدد در سی پلاس پلاس همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با For
  2. آشنایی با While
  3. آشنایی با توابع

قرینه عدد

معکوس یک عدد یا همان قرینه یک عدد، عددی است که فقط جای خانه های پر ارزش با کم ارزش جابجا شده است. بدین صورت که فرض کنید ما عدد 1234 را داریم و حال قرینه این عدد را میخواهیم محاسبه کنیم. برای محاسبه قرینه یک عدد بایئ از کم ارزشترین شروع کرد. برای بدست آوردن کم ارزشترین باید باقیمانده عدد 1234 با عدد 10 را محاسبه کرد. باقیمانده میشود عدد 4. حال ما باید عدد 1234 را بر 10 تقسیم کنیم و خارح قسمت صحیح آن را استفاده کنیم. در اینجا عدد جدید میشود 123. حال دوباره باقیمانده عدد جدید را بر 10 محاسبه میکنیم. تفاوتی که با مرحله قبل داریم این است که ما یک عدد 1 از حالت قبل داریم و باید قبل از اینکه عدد جدید را وارد کنیم عدد قبل را در 10 ضرب کنیم(چرا؟). سپس کارهای قبل را ادامه میدهیم. این کار را آنقدر ادامه میدهیم تا عدد ما صفر شود.

پیاده سازی قرینه کردن عدد در سی پلاس پلاس

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

  1. پیاده سازی با for
  2. پیاده سازی با while

کد زیر پیاده سازی قرینه کردن عدد در سی پلاس پلاس با for است:

int reverseNumWithFor(int number) {
    int reverse = 0;
    for (int i = 0; number > 0; i++) {
        int mod = number % 10;
        reverse *= 10;
        reverse += mod;

        number /= 10;
    }
    return reverse;
}

همانطور که میبینید ما متدی با یک ورودی و خروجی نوشتیم. ورودی عددی است که میخواهیم قرینه کنیم و خروجی عدد قرینه شده است. متغیر reverse عدد معکوس شده را در خود نگه میدارد. در اخر یک حلقه نوشتیم. این حلقه هر بار یک باقیمانده عدد را میگیریم و آن را در reverse قرار میدهیم. حلقه تا موقعی ادامه دارد که عدد ما بزرگتر از صفر باشد.

کد زیر پیاده سازی قرینه کردن عدد با while است:

int reverseNumWithwhile(int number) {
    int reverse = 0;
    while (number > 0) {
        int mod = number % 10;
        reverse *= 10;
        reverse += mod;

        number /= 10;
    }
    return reverse;
}

کد بالا دقیقا شبیه به کد for است و تغیر خاصی داده نشده در الگوریتم.

تست قرینه کردن عدد

برای تست کدهای بالا، کد main زیر را بزنید:

int main() {
    int number = 12345;
    cout<< reverseNumWithFor(number)<<endl;
    cout << reverseNumWithwhile(number)<<endl;

    return 0;
}

نوشته های مشابه

3 دیدگاه در “قرینه کردن عدد در سی پلاس پلاس (Reverse Number)

  1. من گفت:

    سلام لینک باز نمی کنه

    1. سعید غریبی گفت:

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

  2. کیانا گفت:

    سلام reverse مگه یک تابع نیست؟
    خوده تابع چطور نوشته میشه؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *