PDA

View Full Version : ماشین حساب قدرتمند



ankaboot
دوشنبه 15 خرداد 1391, 00:17 صبح
باسلام و عرض تبریک به مناسبت فرارسیدن سالروز ولادت امیرالمومنین حضرت علی (ع)و همچنین تبریک روز پدر به همه ی پدران زحمتکش ایرانی:لبخندساده:
میخواستم بدونم اگر بخواهیم ماشین حسابی با قابلیت دریافت عدد بالا(یعنی اونقدر بزرگ که اعدادصحیح جوابگوی کار ما نباشند)از چه راهی میشه این برنامه رو نوشت به زبان c++؟ داشتم به ارایه ها فکر میکردم ولی ارایه ها هم قبل از اعلانشون, نوعی از متغیر میخواهند....
لطفا راهنمایی ام کنید. از خیلی ها پرسیده ام ولی متاسفانه جوابم راا نگرفته ام .مشتاقم تا بتوانم برنامه ای هر چند ساده مثلا برای جمع وتفریق و ضرب بنویسم....

ASGGSA
سه شنبه 16 خرداد 1391, 21:17 عصر
سلام.
این کار را با آرایه ها می توانید انجام دهید. کار به این صورت است که عدد مورد نظر را به بخش های کوچکتر تقسیم می کنید و در آرایه ای قرار می هید بعد هر عملی را که خواستید روی تک تک خانه های آرایه انجام می دهید مثل جمع ، ضرب و ......
بطور مثال :

87922

ankaboot
چهارشنبه 17 خرداد 1391, 00:01 صبح
ممنون ولی من هنوزم نمیتونم برنامم بنویسم.
منظورتون از تقسیم عدد به بخش های کوچکتر .... اخه چه جوری؟ شاید منظورتون چندبعدی کردن ارایه است...!!میشه لطفا بیشتر در موردش توضیح بدید؟
مگه واسه تعریف کلی ارایه اینطور عمل نمیکنیم: {مقداردهی اولیه} = []نام ارایه نوع ارایه
حالا من نوع ارایه رو هر متغیرصحیحی بگیرم عملیات روی اعداد با محدودیت مواجه میشم. این ارایه رو چطوری باید بنویسم؟؟؟؟؟

ASGGSA
چهارشنبه 17 خرداد 1391, 16:45 عصر
چون اعداد خیلی بزرگ هستند نمیشه آنها را در نوع های int ، float ، double ، long ..... ذخیره کرد بنابراین این اعداد را باید بصورت یک رشته دریافت کرده بعد این رشته را باید به بخش های مثلاً پنج تایی تقسیم کنید و هر بخش را جداگانه بوسیله تابع atoi به عدد تبدیل کنید و در آرایه ای از نوع های بالا قرار بدهید هر بخش در یک خانه آرایه قرار می گیرد. حالا می توانید هر عملیاتی را روی این بخش های کوچکتر انجام بدید. برای نمایش نتیجه باز باید بوسیله تابع itoa بخش بخش اعداد را به رشته تبدیل و این بخش ها را به یکدیگر الحاق کنید تا عدد کامل بدست آید.