نمایش نتایج 1 تا 17 از 17

نام تاپیک: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    بهشت ایران
    پست
    118

    چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    سلام دوستان من میخوام یه برنامه به صورت شی گرا برای ذخیره سازی اطلاعات عددی بزرگ مثلا 1000 رقمی پیاده سازی کنم ولی نمی دونم با چه روشی و الگوریتمی این کار بکنم اگه میتونین نمونه یا کمیک کنین ممنون میشم در ضمن اعمال ریاضی هم باید روش باشن

  2. #2

    نقل قول: دوستان کمکم کنین

    دوست عزیز
    شما می تونید از struct برای این موضوع استفاده نمایید و با استفاده از operator ها عملگر ها رو overload نمایید.

    این یه راهنمایی کلی و این موضوع خیلی جزئیات داره...

  3. #3
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: دوستان کمکم کنین

    سلام
    برای محاسبات عددی روی اعداد بزرگ باید اعداد را بصورت رشته ای درنظر بگیرید در این حالت یک کلاس ایجاد کنید که یک رشته (با محتوای عدد) بعنوان ورودی متد سازنده دریافت کند سپس علائم ریاضی + و - و * و / را با Operator Overloading برای کلاس تعریف کنید و منطق ریاضی جمع و ضرب را پیاده سازی کنید مطابق شکل ذیل برای جمع دوعدد بزرگ از سمت راست دو رشته پیمایش نمائید و کار ساده ریاضی سوم ابتدائی را شبیه سازی کنید(البته همه کار ها رشته ای است)
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg Sum.jpg‏ (19.7 کیلوبایت, 43 دیدار)

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    بهشت ایران
    پست
    118

    نقل قول: دوستان کمکم کنین

    خیلی ممونو از راهنماییتون
    آقا نمونه ای از این کد ها دارین واسم بفرستین ؟

  5. #5
    کاربر جدید
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تبريز
    پست
    27

    نقل قول: دوستان کمکم کنین

    سلام
    بهتر يك ليست پيوندي درست كني بدين صورت كه با وارد كردن هر رقم جديد يك گره تازه ايجاد بشه و اون رقم توي گره جديد ذخيره بشه مثلا عدد 239 را در سه گره يكي براي 2 ديگري براي 3 و آخري براي 9.
    براي انجام عمليات رياضي هم بايد بر روي تك تك گره ها انجم شود.
    موفق باشيد

  6. #6
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    44
    پست
    1,046

    نقل قول: دوستان کمکم کنین

    نقل قول نوشته شده توسط saeedkheiri مشاهده تاپیک
    سلام دوستان من میخوام یه برنامه به صورت شی گرا برای ذخیره سازی اطلاعات عددی بزرگ مثلا 1000 رقمی پیاده سازی کنم ولی نمی دونم با چه روشی و الگوریتمی این کار بکنم اگه میتونین نمونه یا کمیک کنین ممنون میشم در ضمن اعمال ریاضی هم باید روش باشن
    نقل قول نوشته شده توسط hozouri مشاهده تاپیک
    دوست عزیز
    شما می تونید از struct برای این موضوع استفاده نمایید و با استفاده از operator ها عملگر ها رو overload نمایید.

    این یه راهنمایی کلی و این موضوع خیلی جزئیات داره...
    نقل قول نوشته شده توسط saeedkheiri مشاهده تاپیک
    خیلی ممونو از راهنماییتون
    آقا نمونه ای از این کد ها دارین واسم بفرستین ؟
    سلام
    این مورد قبلاً چندین بار با عناوین و در تاپیکهای مختلف تکرار شده است و بعضی وقتها به جواب رسیده بعضی وقتها نه!!!
    ولی خوب همیشه باز هم تکرار میشه؟!؟ نمونه هاش : یک و دو و سه و ...

    چند بار هم دوستان طی پیام خصوصی علیرغم کدهایی که گذاشته شده از بنده این مورد رو خواستن که واسشون ارسال کردم؛ الان اگه بدردتون میخوره کد کامل #C و ++BCB و یه PDF در مورد اعداد بزرگ رو میذارم.

    امیدوارم همینجا دیگه تموم بشه. البته سورس رو با ذکر منبع میتونید استفاده کنید. در ضمن من هم تو این پست برخی منابعم رو ذکر کردم ...

    موفق باشید.

    پ.ن :

    1. تو هسچ قسمت از عرایضم قصد جسارت به دوستان نداشتم؛ امیدوارم سوء تعبیر نشه.
    2. کد #C شامل توابع و کاربردهای متنوعی از الگوریتمهای مختلف از جمله Hashing، لوکاس، استراسن، اعداد اول و ... که از این کلاس میتونستن استفاده کنند و به تدریج به کد مربوطه اضافه شده تا تنوع کاربرد این کلاس مشخص بشه
    فایل های ضمیمه فایل های ضمیمه

  7. #7

    نقل قول: دوستان کمکم کنین

    دوست عزیز آیا لیست های پیوندی قابلیت overload کردن عملگرها رو دارا است.

    وقتی ما به نوع داده جدید تعریف می کنیم با فرض اینکه تمام عملگر هاش رو هم overload کرده باشیم می تونیم مثل یه نوع داده باهاش برخورد کنیم. یعنی جمع , منها , ضرب و == , != , < و ... رو داشته باشیم ....

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1388
    محل زندگی
    4ji.ir
    پست
    63

    نقل قول: دوستان کمکم کنین

    به نظر من استفاده از آرایه ها بهترین راه است
    یک کلاس درست کن که دو متغیر دارد
    1.یکی آرایه ای که هر عنصر آن یک رقم رو ذخیره می کنه
    2.تعداد ارقام ( که برای انجام اعمال ریاضی مفید است )

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    بهشت ایران
    پست
    118

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

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

  10. #10
    کاربر دائمی آواتار Saeed_m_Farid
    تاریخ عضویت
    تیر 1386
    محل زندگی
    فضای تهی میان دیوارها
    سن
    44
    پست
    1,046

    نقل قول: دوستان کمکم کنین

    نقل قول نوشته شده توسط hozouri مشاهده تاپیک
    دوست عزیز آیا لیست های پیوندی قابلیت overload کردن عملگرها رو دارا است.

    وقتی ما به نوع داده جدید تعریف می کنیم با فرض اینکه تمام عملگر هاش رو هم overload کرده باشیم می تونیم مثل یه نوع داده باهاش برخورد کنیم. یعنی جمع , منها , ضرب و == , != , < و ... رو داشته باشیم ....
    بله، تفاوتی نمی کنه که شما برای چه ساختار داده ای میخواهید عملگرها رو overload کنید، وقتی آزایه ها قابلیت overload دارند چرا لیست پیوندی یا آرایه های پویا و ... نباید داشته باشند؟ تو همین سورسی که آپ کردم، عملگرها برای یه کلاس بخصوص overload شدن، و همونطوریکه میدونید تو #C همه چی یا کلاسه یا struct (یعنی مثل ++C/C، پاسکال و ... نوع داده primitive نداره، حتی اشاره گرهاش - مثل IntPtr - هم struct اه !!! )، پس محدودیتی تو overload کردن عملگرها نباید داشته باشیم ...

  11. #11

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    سلام ، بنظر من چون آرایه یک ساختمان داده ایستا است ، ولی لیست پیوندی یک ساختمان داده پویا ،

    استفاده از لیست پیوندی میتونه گزینه مناسبی واسه این کار باشه !!!

    که در اینصورت هربار باقیمانده حاصل جمع به ابتدای لیست اضافه میشه و هیچ محدودیت تعداد ارقام بوجود نمیاد !!!






  12. #12
    کاربر تازه وارد آواتار mohkami
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    مشهد
    پست
    56

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    کی گفته آرایه ایستا هست؟
    بعدشم اندازه آرایه در این مساله راحت حساب میشه و مقدار اون دائماً در حال تغییر نیست که قرار باشه کاملاً پویا باشه!
    این سوال با آرایه ای از کاراکترها(رشته) یا آرایه ای از اعداد کوچکتر قابل حلِ! این مطلب چند باری در فروم مطرح شده!
    این هم لینک

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

  13. #13

    Cool نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    نقل قول نوشته شده توسط mohkami مشاهده تاپیک
    کی گفته آرایه ایستا هست؟
    بعدشم اندازه آرایه در این مساله راحت حساب میشه و مقدار اون در حال تغییر نیست که قرار باشه کاملاً پویا باشه!
    این سوال با آرایه ای از کاراکترها(رشته) یا آرایه ای از احداد کوچکتر قابل حلِ! این مطلب چند باری در فروم مطرح شده!
    این هم لینک

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

    هورویتز (البته اگه شما با مفاهیم ساختمان داده آشنا باشید) !!!






  14. #14
    کاربر جدید
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تبريز
    پست
    27

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    آرايه محدوديت هايي داره حتي اگر آرايه پويا باشه بايد يك مقداري حين اجراي برنامه بهش بدي تا بتوني باهاش كاركني.
    ولي ليست پيوندي هيچ محدوديت نداره تا جايي كه تو Heap حافظه باشه مي توان به ليست تخصيص داد
    موفق باشيد

  15. #15
    کاربر تازه وارد آواتار mohkami
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    مشهد
    پست
    56

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    مجدداً سلام،

    فک نکنم خیلی بحث سختی باشه که فقط شما باهاش آشنا باشید!

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

  16. #16

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    سلام دوست عزیز
    من همین چند روز پیش این مشکل رو داشتم F#‎ که یک dll هست رو با کمک یکی از دوستان از سایت ماکرو سافت دانلود کردم فقط باید تو تعیریف نوع داده تون از big int استفاده کنید

  17. #17
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    بهشت ایران
    پست
    118

    نقل قول: چگونگی نوشتن برنامه ای شیء گرا برای کار با اعداد بزرگ

    خوب این dll رو واسه همه دوستان بزارین
    ممنون میشم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •