سلام
برنامه ای می خواستم که دو تا عدد اعشاری بزرگ رو بگیره و با هم جمع کنه (عدد اعشاری قسمت صحیحش حداکثر 50 رقمی و قسمت اعشاریش نیز حداکثر 50 رقمی باشد) ممنون
سلام
برنامه ای می خواستم که دو تا عدد اعشاری بزرگ رو بگیره و با هم جمع کنه (عدد اعشاری قسمت صحیحش حداکثر 50 رقمی و قسمت اعشاریش نیز حداکثر 50 رقمی باشد) ممنون
سلام.
ميتونيد از link زیر استفاده کنید.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کافی از آرایه ها استفاده کنید. الگوریتم برنامه مشخص هست.
اگه مشکلی پیش اومد اطلاع بدید.
ممنون
دارم بررسی اش می کنم.
سلام
یه جاهایی از برنامه رو متوجه نشدم . می شه درموردش توضیح بدید.
1) چرا از 45 کم می کنیم.
2) cout , cin چی کار میکنند.
مرسی
راستی این برنامه برای اعداد اعشاری هم جواب می ده .پس ممیز رو چی کار میکنه .
Last edited by shadli_m7; 13-12-2006 at 14:34.
ممنون به درد منم خورد![]()
Last edited by ahmad_tarfand; 14-12-2006 at 12:53.
سلام
یه جاهایی از برنامه رو متوجه نشدم . می شه درموردش توضیح بدید.
1) چرا از 45 کم می کنیم.
2) cout , cin چی کار میکنند.
مرسی
راستی این برنامه برای اعداد اعشاری هم جواب می ده .پس ممیز رو چی کار میکنه .
سلام
شما داده ها رو به صورت یک رشته دریافت میکنید.
بنابراین مثلا 4 یک حرف هست نه یک عدد . برای اینکه مقدار دریافتی با عدد برابر باشه از 48عدد کم میکنیم.
میتونید به جدول اسکی نگاه کنید.
cin و cout (در ++C) به ترتیب برای دریافت از ورودی و نمایش اطلاعات استفاده میشه تقریبا معادل هستند با
scanf و printf
شما کافیه محل اعشار رو در رشته ی ورودی بدست بیارید و در پایان محاسبه دوباره ازش استفاده کنید.
چند تغییر کوچیک باید در برنامه ایجاد کنید.
ممنون
اما ممیز اعشاری رو متوجه نشدم چی شد ؟ میتونیم از وایل همون اول استفاده کنیم
دوباره سلام.
یه روش اینه : وقتی رشته اعداد رو از ورودی گرفتین در Buffer مورد نظر دنبال محل " . " بگردید.
شماره block مورد نظر رو ذخیره کنید و " . " رو از رشته حذف کنید.
بعد از پایان محاسبات تون محل جدید رو محاسبه کنید و دوباره " . " به رشته وارد کنید.
سلام
ممنون
اما تو جمع دو عدد اعشاری نمی تونیم ممیز رو برداریم وبعد جمع کنیم جواب نادرست می شه
می شه بگید چطوری مکان ممیز رو پیدا کنم. من هر روشی رو که امتحان کردم نشد
بازم تشکر میکنم
دوباره سلام.
از کد زیر میتونید برای پیداکردن موقعیت " . " استفاده کنید :
در ضم در نظر داشته باشید برای جمع دو عدد اعشاری تعداد رقم های اعشارشون باید با هم برابرکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
باشه. چون از کدی که استفاده میکنید از یکان شروع به جمع میکنه.
مثلا :
در صورتی که باید به این شکل عمل بشه :کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بنابراین اگه تعداد رقم های اعشار با هم برابر نباشه نتیجه درست در نمیاد.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با استفاده از این کد میتونید تعداد رقم های اعشار رو پیدا کنید و عددی که تعداد رقم اعشار پایین تری
داره بعد از آخرین رقم اعشار بهش 0 اضافه کنید.
این کار رو میتونید با استفاده از strcat انجام بدید که در string.h قرار داره.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)