PDA

نسخه کامل مشاهده نسخه کامل : برنامه جمع کردن 2 عدد بزرگ !!



Tom Clancy's
05-11-2012, 19:58
سلام دوستان
یه برنامه میخوام که 2 عدد بزرگ (در حد 40 - 50 رقم ) رو بگیره و اینارو باهم جمع و تفریق کنه !!
منتها میخوام که این عمل جمع و تفریق رو خود کامپایلر انجام نده ، خودم بنویسمش ! (مثلا عدد رو به صورت رقم رقم بریزه داخل یه آرایه بعد مثل عمل جمع کردن به صورت دستی از سمت راست ترین رقم نظیر به نظیر شروع به جمع کردن کنه و در آخر حاصل داخل یه آرایه دیگه ذخیره بشه و ... )

senaps
05-11-2012, 21:57
خوب؟! حالا شما کجاش رو سوال داری؟!!
میتونی از اخرین عضو ارایه شروع به خوندن بکنی یا یه first in last out (اسمش یادم رفت!) بسازی که براش باید ساختمون خونده باشی!!!

Tom Clancy's
07-11-2012, 21:20
خوب؟! حالا شما کجاش رو سوال داری؟!!
میتونی از اخرین عضو ارایه شروع به خوندن بکنی یا یه first in last out (اسمش یادم رفت!) بسازی که براش باید ساختمون خونده باشی!!!

خب من کدش رو میخوام دیگه دوست عزیز،کلا سوال خودش !!!:sq_12:

senaps
07-11-2012, 21:48
اهان!
یه قانون نا نوشته اینجا هست که هیچوقت یه پروژه رو کامل نمی‌نویسن دوستان فعال...
معمولا سعی بر اینه که مشکلات کدها رو حل بکنن یا راهنمایی بکنن...
شما خودت شروع کن به برنامه نویسی هر جا ایراد داشتی بگو!

Tom Clancy's
09-11-2012, 18:21
سلام
دوستان چرا وقتی string تعریف میکنم تو خروجی چیزی نشون نمیده؟!!
#include<iostream>
#include<string>

using namespace std;

int main()
{

string st1;
st1 = "test";
cout<<st1;

return 0;

}

Tom Clancy's
09-11-2012, 21:11
دوستان الان مشکلم تو دریافت عدد از کاربره!
من یه آرایه از نوع char تعریف میکنم،بعد عدد رو از کاربر میگیرم و ذخیره میکنم تو آرایه،حالا چطور باید این اعداد رو تبدیل کنم به int که بتونم عملیات ریاضی روشون انجام بدم؟!!

szh_1367
09-11-2012, 22:15
دوستان الان مشکلم تو دریافت عدد از کاربره!
من یه آرایه از نوع char تعریف میکنم،بعد عدد رو از کاربر میگیرم و ذخیره میکنم تو آرایه،حالا چطور باید این اعداد رو تبدیل کنم به int که بتونم عملیات ریاضی روشون انجام بدم؟!!

بجای اینکه داده رو از نوع char تعریف کنید اون رو int در نظر بگیرید

Arrowtic
09-11-2012, 22:18
شما باید از کد اسکی استفاده کنید.کد اسکی عدد صفر میشه 48.پس کد اسکی تک تک char هاتونو منهای 48 میکنید و میریزید تو وکتور و با این وکتورا کار میکنید.(دو تا وکتور جدا نیاز دارید هر کدوم برای یه عدد)
در کل چون عددتون خیلی بزرگ هستش یه رشته یا در اصل آرایه از نوع character میگیرید از کاربر و رقم رقم کد اسکی رو منهای 48 میکنید و توی یه وکتور میریزید و دوباره برای عدد بعدیم این کارو میکنید.آخر سر این وکتور ها رو خونه خونه با هم جمع میکنید(با توجه به این که ممکنه تعداد ارقام دو عدد برابر نباشه) و بعد ده بر یک ها رو حساب کرده و توی مرتبه بعدی میریزید و وکتور سوم(مجموع) رو چاپ میکنید.
جدول کد اسکی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

اینم کدش خدمت شما:(جایی رو متوجه نشدید بگید)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

فقط بازم تاکید میکنم که حتما خوب کار با وکتور رو یاد بگیرید و همیشه جای آرایه از وکتور استفاده کنید چون که هم سایزش متغیره و باعث میشه Memory اضافی نگیره برنامتون هم برعکس آرایه محدودیت سایز نداره.(خیلی کم پیش میاد که مجبور بشید از آرایه استفاده کنید خیلی خیلی کم)
چون از وکتور و رشته استفاده شده در این برنامه تا چندین هزار رقم رو هم میتونه بگیره به راحتی!