کنترل ارقام عدد - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

کنترل ارقام عدد

0 امتیاز
اگر قصد داشته باشم  سمت راست  ترین رقم  یک عدد را به سمت چپ ترین رقم آن با هم مقایسه کنم به چه صورت باید عمل کنم؟
سوال شده دی 14, 1392  بوسیله ی jahadgar (امتیاز 380)   24 41 54
دوباره تگ گذاری شد دی 15, 1392 بوسیله ی BlueBlade

2 پاسخ

+2 امتیاز
 
بهترین پاسخ

فکر میکنم راحت تر باشه با تابع to_string به استرینگ تبدیلش کنیم ، و اول و اخرشُ با هم مقایسه کنیم مثلا 

#include <iostream>
#include <string>
using namespace std ;
int main()
{
	string str = to_string( 13388 );
	str[0] ;// first digit
	str[str.size()-1] ; // last digit
}

فقط متغیری رو که میخوای داخل تابع to_string بریزی بعضی از کامپایلر ها اگه کوچیکتر از long long باشن کامپایل نمیکنن

پاسخ داده شده دی 15, 1392 بوسیله ی Elyas74 (امتیاز 1,144)   6 14 27
انتخاب شد دی 29, 1392 بوسیله ی BlueBlade
تبدیل به رشته غیراستاندارده چرا عددو به رشته تبدیل کنیم!!!!!!!!!!!!
خیلی راحت میتونه با لگاریتم بر مبنای 10 تعداد ارقامو به دست بیاره و بعدش عددو یه بار بر 10 تقسیم کنه و یه بارم بر 10 به توان (تعداد ارقام منهای یک )به همین راحتی.
اولین باره که میشنوم این کار استاندارد نیست ، اگه منبعی برای این حرف یا دلیلی دارین ممنون میشگم بگی
عزیزم آخه منم اولین باره می بینم برای این کار و حل مساله ریاضی، اونو دور میزنیم و به رشته تبدیل میکنیم.
الان به نظر شما روش من کاراتر، ساده تر و ریاضی وارتر نیست؟
این زیباتره به نظر من
+1 امتیاز
سلام

عدد رو بر 10 تقسیم متوالی کن باقی مانده اولین تقسیم میشه آخرین عدد و باقیمانده آخرین تقیسم میشه اولین عدد
پاسخ داده شده دی 15, 1392 بوسیله ی mohsen (امتیاز 69)   2 7 13
...