PDA

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



shadli_m7
09-12-2006, 16:37
سلام

برنامه ای می خواستم که دو تا عدد اعشاری بزرگ رو بگیره و با هم جمع کنه (عدد اعشاری قسمت صحیحش حداکثر 50 رقمی و قسمت اعشاریش نیز حداکثر 50 رقمی باشد) ممنون

someone
09-12-2006, 21:24
سلام.
ميتونيد از link زیر استفاده کنید.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کافی از آرایه ها استفاده کنید. الگوریتم برنامه مشخص هست.
اگه مشکلی پیش اومد اطلاع بدید.

shadli_m7
12-12-2006, 21:12
ممنون

دارم بررسی اش می کنم.

shadli_m7
13-12-2006, 14:32
سلام

یه جاهایی از برنامه رو متوجه نشدم . می شه درموردش توضیح بدید.

1) چرا از 45 کم می کنیم.

2) cout , cin چی کار میکنند.

مرسی

راستی این برنامه برای اعداد اعشاری هم جواب می ده .پس ممیز رو چی کار میکنه .

ahmad_tarfand
14-12-2006, 12:33
ممنون به درد منم خورد ;)

someone
16-12-2006, 02:30
سلام
یه جاهایی از برنامه رو متوجه نشدم . می شه درموردش توضیح بدید.
1) چرا از 45 کم می کنیم.
2) cout , cin چی کار میکنند.
مرسی
راستی این برنامه برای اعداد اعشاری هم جواب می ده .پس ممیز رو چی کار میکنه .



سلام
شما داده ها رو به صورت یک رشته دریافت میکنید.
بنابراین مثلا 4 یک حرف هست نه یک عدد . برای اینکه مقدار دریافتی با عدد برابر باشه از 48عدد کم میکنیم.
میتونید به جدول اسکی نگاه کنید.
cin و cout (در ++C) به ترتیب برای دریافت از ورودی و نمایش اطلاعات استفاده میشه تقریبا معادل هستند با
scanf و printf
شما کافیه محل اعشار رو در رشته ی ورودی بدست بیارید و در پایان محاسبه دوباره ازش استفاده کنید.
چند تغییر کوچیک باید در برنامه ایجاد کنید.

shadli_m7
16-12-2006, 14:56
ممنون
اما ممیز اعشاری رو متوجه نشدم چی شد ؟ میتونیم از وایل همون اول استفاده کنیم

someone
16-12-2006, 23:12
دوباره سلام.
یه روش اینه : وقتی رشته اعداد رو از ورودی گرفتین در Buffer مورد نظر دنبال محل " . " بگردید.
شماره block مورد نظر رو ذخیره کنید و " . " رو از رشته حذف کنید.
بعد از پایان محاسبات تون محل جدید رو محاسبه کنید و دوباره " . " به رشته وارد کنید.

shadli_m7
18-12-2006, 09:33
سلام

ممنون
اما تو جمع دو عدد اعشاری نمی تونیم ممیز رو برداریم وبعد جمع کنیم جواب نادرست می شه
می شه بگید چطوری مکان ممیز رو پیدا کنم. من هر روشی رو که امتحان کردم نشد

بازم تشکر میکنم

someone
20-12-2006, 04:03
دوباره سلام.
از کد زیر میتونید برای پیداکردن موقعیت " . " استفاده کنید :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در ضم در نظر داشته باشید برای جمع دو عدد اعشاری تعداد رقم های اعشارشون باید با هم برابر
باشه. چون از کدی که استفاده میکنید از یکان شروع به جمع میکنه.
مثلا :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در صورتی که باید به این شکل عمل بشه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بنابراین اگه تعداد رقم های اعشار با هم برابر نباشه نتیجه درست در نمیاد.
با استفاده از این کد میتونید تعداد رقم های اعشار رو پیدا کنید و عددی که تعداد رقم اعشار پایین تری
داره بعد از آخرین رقم اعشار بهش 0 اضافه کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این کار رو میتونید با استفاده از strcat انجام بدید که در string.h قرار داره.

ahmad_r
20-12-2006, 07:40
سلام به دوستان گلم
یه برنامه می خوام که وقتی عدد n را (n>=3) وارد کرد خروجی را به شکل زیر چاپ کند:
1) از اعداد بین 1 تا n دوبار استفاده شود.
2) بین هر دو عدد مشابه به اندازه ارزش آن عدد اعداد دیگر وجود داشته باشد.

ahmad_tarfand
20-12-2006, 11:05
سلام دوستان منم به این برنامه منتحی به صورت زیر نیاز دارم
اینم سوال
برنامه اي بنويسيد که دو عدد 20 رقمي را به صورت رشته اي از ورودي گرفته سپس هر کاراکتر را به رقم معادل آن تبديل کرده و در يک عنصر آرايه قرار دهد
و هر عدد را به همين روش در آرايه ذخيره نمايد.(هر عدد در يک ارايه) سپس حاصل جمع و حاصلضرب
اين دو عدد 20 رقمي را محاسبه کرده و در خروجي چاپ کند. نابعي براي خواندن رشته هاو تابعي براي تبديل کاراکتر به رقم وتابعي براي انجام عمل جمع وضرب اين دو عدد و تابعي نيز براي
چاپ .

مطمننم که بروبچه هاي p30world از پس اينم بر ميان
ممنونم
منتظر جواب هستم
تا 12 / 85/10 مهلت دارم سه نمره داره تو رو خدا کمکم کنید.

shadli_m7
21-12-2006, 09:30
ممنون someone عزیز

دارم بررسیش می کنم.

احمدخان فکر کنم که c خودش تابعی به اسم atoi داره که این کارو می کنه. البته چون عددتون بزرگه فکر نکنم جواب

بده. سعی میکنم تابعش رو براتون بذارم.

meisam317
21-12-2006, 12:13
منم دارم یواش یواش ++c یاد میگیرم
خیلی جالب است

ahmad_tarfand
21-12-2006, 14:59
بچه ها کسی تونست سوال ما رو بنویسه
منتظرم ها
دستتون درد نکنه

saeid.azimi
09-05-2007, 19:48
با سلام به بچه های فروم

من یه پروژه دارم و اونم درست کردن یه بازی به زبان برنامه نویسی C

که تیتر برنامه رو داخل پرانتز می نویسم:

( برنامه ای بنویسید که 20 اسم 5 حرفی را از ورودی گرفته در آرایه رمز ریخته بصورت تصادفی یکی از این اسامی را به

عنوان کلمه رمز انتخاب کند حال کاربر باید به این اسم رمز پی ببرد یعنی برنامه باید اسامی 5 حرفی را از کاربر گرفته و با 2

عدد که اولی نشان دهنده تعداد حروف موجود در اسم رمز و دومی نشان دهنده تعداد حروفی که دقیقا در محل خود قرار

دارند کاربر را راهنمایی نماید این عمل ورود اسامی تا زمانی که کاربر اسم رمز را تشخیص دهد (5 و 5) ادامه می یابد

(با استفاده از حلقه while) در این صورت برنامه با اعلام پیغام شما برنده شدید و چاپ امتیاز پایان می یابد.

هر کی می تونه به من میل بزنه.

saeid.azimi@yahoo.com