با سلام
می خواستم یه کمکی به من بکنید
چه جوری می شه تو زبان ++c متغیرس بسیار بزرگ مثلا 1000 رقمی تعریف کرد و با یه عدد بزرگ دیگه جمع کرد ،تفریق کرد و ازهمه مهمتر ضرب وتقسیم کرد
ممنون
با سلام
می خواستم یه کمکی به من بکنید
چه جوری می شه تو زبان ++c متغیرس بسیار بزرگ مثلا 1000 رقمی تعریف کرد و با یه عدد بزرگ دیگه جمع کرد ،تفریق کرد و ازهمه مهمتر ضرب وتقسیم کرد
ممنون
با آرايه ها فكر ميكنم بشه يه كارايي كرد. دو رشته با طول 1001 و يه آرايه هم براي نتيجه (طول آرايه سه بايد نسبي خودت حساب كني)
براي جمع و تفريق و غيره هم بايد براي هر عملگر يه الگوريتم مثل اونايي كه دبستان ياد گرفتيم درست بشه
مثلا جمع كردن ايجوري بود.![]()
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام جناب بد سکتور
آخه قربون تو برم اگه به همین راحتیا بود که وقت انجمن را نمی گرفتم
مگه نمی دونی آرایه هارو نمی تونیم با هم جمع کنیم پس باید دونه دونه اعدادو بکشیم بیرون جمع کنیم تازه باید آرایه سوم رو جوری تعریف کنیم که اگه یه رقم آخر کار بیشتر شد قبول کنه از طرفی طول آرایه باید معلوم باشه ....
فک کنم تا همینجا قانع شده باشی که به همین راحتیا هم نیست
خوشحال می شم اگه نظر دیگه ای هم داری به من بگی
مرسی
بله ميدونم كار مشكلي هست.و چون خودم زياد به c مسلط نيستم فقط يه پيشنهاد حد خودم دادم. ولي شدنيهنوشته شده توسط mostafa_aa
منظورم هم دقيقا همينه يعني دونه دونه رقم ها رو بيرون بكشيم و اعمال رو نسبت به هر عمرگرد جمع و تفريق و ...مگه نمی دونی آرایه هارو نمی تونیم با هم جمع کنیم پس باید دونه دونه اعدادو بکشیم بیرون جمع کنیم
محاسبه كنيم و نتيجه رو مستقيم در آرايه سوم قرار بديم. و بعد بريم سراق رقم بعد. آرايه سوم هم مثلا 10 هزار تا بگيرد.
چون شما داري برنامه رو مي نويسي نه ماشين پس بايد حدس بزني رقم تا چه حد ممكنه بزرگ بشه.
به نظر من برنامهاي كه ساختنش راحته و بشه حتي ذهني ساختش اصلا صرف نمي كنه روش وقت بزاري و بنويسيشفک کنم تا همینجا قانع شده باشی که به همین راحتیا هم نیست
سلام
ببینید همونجوری که دوستمون گفتند باید از آرایه استفاده کنی.
بااید همونجوری که خودت جمع رو رو کاغذ انجام می دی الگوریتمشو پیاده سازی کنی.
مثلا واسه جمع کردن باید ابتدا دو رقم اول اعداد رو با هم جمع کنیم. اگر بزرگتر از 10 بود به جمع ارقام بعدی یک یک اضافه کنی.
1256
4379
9+6 پانزده می شود . پس یکان عدد حاصل 5 است. حال به جمع در رقم بعدی( 5 و 6) یک اضافه می کنیم. که 12 می شود. صدگان را 2 می گذاریم و به مجموع دو رقم بعدی یک اضافه می کنیم.....
بقیه اپراتورها ( - * / ) هم مانند این پیاده سازی می شوند. دقیقا همونجوری که خودت این کار رو انجام می دی.
سلام بچه ها
ممنون از شما دوستانی که کمک کردید
حالا اگه می شه بگید که چه جوری یه آرایه 1000000 رقمی تعریف کرد ؟
بازم ممنون می شم
مخلص .
اينجوري
كه string هم هر اسمي بجز اسمهاي كليدي مي تونه باشه.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام من فكر مي كنم اينجوري كامپايلر error مي ده چون نميشه آرايه بزرگتر از 255 تعريف كرد من فكر مي كنم بايد يا آرايه اي از آرايه ها تعريف كنيد يا آرايه چند بعدي باشه.نوشته شده توسط Bad.Sector
منظورم از آرايه اي از آرايه ها اينه كه مثلا بنويسيم
typedef int reshteh[255];
داخل برنامه آرايه اي از اين نوع مي نويسيم تازه نمي دونم بشه براي اين عدد خيلي بزرگ كه شما گفتين اين كار رو كرد اما دوبعدي فكر كنم بهتر باشه.
بهتره كه چنين مبحث هايي, در مكانهايي كه مربوط به "ساختمان داده ها" باشه مطرح بشه. فكر نكنم چنين مشكلاتي به زبان برنامه نويسي برگرده.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)