با استفاده از تابع زیر قادر خواهیم بود کاراکتر های حرفی را با ترفند استفاده از ترتیب کد های اسکی اعداد 0 تا 9 به عدد تبدیل کنیم.

1) تبدیل حرف به عدد

int charToInt (char _char)
{
    for (int i = 48, num = 0; i < 58; i++, num++)

    // کد های اسکی اعداد 0 تا 9 از 48 تا 57 می باشد
    if ((int)_char == i)

        return num;
}

 2) تبدیل رشته به عدد

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

int strToInt (string _str, int _beginning, int _end)

// رشته, موقعیت ابتدای محدوده، موقعیت انتهای محدوده

// اگر قصد دارید تمامی رشته به عدد تبدیل شود کافیست نقطه آغاز را صفر و پایان را طول رشته قرار دهید
{
    int temp, num = 0;
    for (int i = _beginning; i <= _end; i++)
        {
            temp = charToInt(_str[i]);

            // تبدیل موقتی حرف

            // یعنی اگر یک رشته "56789" باشد و خروجی موقعیت سوم یعنی عدد 7 می شود 7
            for (int x = 0; x < _end - i; x++)

            // در این قسمت حرف به تناسب جایگاه خود به دفعات در 10 ضرب می شود

            // عامل تعیین کننده دفعات تکرار ضرب در عدد 10 موقعیت عدد است

            // مثلا در رشته "123" 1 که صد گان است و دو صفر دارد دوبار و 2 که دهگان است و یک صفر دارد دوبار و 3 به دلیل یکان بودن 0 بار در ده ضرب می شود
            {
                temp *= 10;
            }
            num += temp;

            // در نهایت حاصل هر حرف به مجوع اعداد اضافه می شود
        }
    return num;
}

 


منبع: cppdev.blog.ir

این مطلب توسط GreatMAK  نوشته شده است و منبع آن وبلاگ cppdev.blog.ir می باشد.


مشخصات

تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

Kayla شرکت تعاونی مسکن تلاشگران شهرداری بندرانزلی ماتیس فانوس رایانه نقاشی ساختمان و اجرای بتونه کناف Lisa اموزش و دانلود کتاب ها دلــــــپر Cory