PDA

View Full Version : اعمال ریاضی بر روی اعداد بزرگ



mnakhaei
شنبه 24 دی 1384, 11:08 صبح
سلام
برنامه اعمال ریاضی بر روی اعداد بزرگ:
دو آرایه A ,B داریم که طول آنها 100 رقم است.
دو عدد حداکثر 100 رقمی را رقم به رقم دریافت نموده و از سمت چپ در خانه های این دو آرایه قرار می دهیم:
به چه صورت می توان دو عدد را باهم جمع - تفریق - ضرب و تقسیم نمود و نتیجه را در آرایه دیگری بنام c قرار داد
توجه کنید که می بایست طول عددی که کاربر وارد کرده را بدست آوریم مثلا ممکن است یکی از اعداد 5 رقمی و دیگری 15 رقمی باشند.
ثانیا باید به روشهای معمول ریاضی این کار ها را انجام دهیم.
لطفا دوستانی که++c بلدند کمک کنند.

Marine
شنبه 24 دی 1384, 14:42 عصر
میتونی از یه کلاس و عملگرهای overload شده برای اینکار استفاده کنی

tornado_maa
جمعه 30 دی 1384, 02:05 صبح
این کار رو با استفاده از آرایه ای از کاراکتر می تونی انجام بدی.
عدد اول تو یه رشته(آرایه از کاراکتر)
عدد دوم تو یه رشته(آرایه از کاراکتر)
حالا مثلا برای جمع : عدد i ام از رشته اول رو منهای 48 وهمین طور عدد i ام رشته دوم رو منهای 48 بعد با هم جمع می کنیم . حاصل رو تقسیم بر ده می کنیم باقیمانده در خانه iام آرایه سوم قرار می دهیم وخارج قسمت رو در i بعدی . البته باید توجه داشته باشی که i شما از آخر رشته شمارش می کنه و هر بار کم می شه و هر خانه شما حاصل جمع خارج قسمت خانه قبلی و باقیمانده ی خود می باشد

mostafa_cpp
جمعه 30 دی 1384, 08:26 صبح
من اعمال جمع ، تفریق و ضرب رو پیاده سازی کردم ولی نمیدونم چطور عمل تقسیم رو پیاده سازی کنم

seyedof
جمعه 30 دی 1384, 11:32 صبح
سلام
این جور کارها رو باید دقیقا اول روی کاغذ تحلیل کنید. بعد دقیقا عین همون روشی که روی کاغذ تقسیم میکنیم میشه پیاده سازیش کرد. خوشبختانه خود روشهای ضرب و تقسیم اعداد حالت الگوریتمیک دارند.
یه روز میخوام وقت بگذارم و یک کلاس کامل برای اینکارها بنویسم البته با optimize کردن. یعنی مثلا اینطوری نباشه که رقم به رقم ضرب کنه.
ممنون علی

mostafa_cpp
جمعه 30 دی 1384, 12:50 عصر
یعنی چطوری ؟

taze kar
سه شنبه 04 بهمن 1384, 22:30 عصر
سلام
یه کتاب هست به نام : طراحی و تحلیل الگوریتم ها : که توی یکی از بخش هاش به طور کامل روی این جور الگوریتم ها بحث کرده و حتی کد های بهینه هم داره ... نوشته جعفر نژاد قمی هم هست .. یه نیگا بهش بندازی کارت رو راه میندازه ... البته اگه همه به درد همه می خوره ...

mnakhaei
چهارشنبه 05 بهمن 1384, 12:23 عصر
من اعمال جمع ، تفریق و ضرب رو پیاده سازی کردم ولی نمیدونم چطور عمل تقسیم رو پیاده سازی کنم

لطفا کدی رو که واسه جمع و تفریق و ضرب نوشتین بزارید تا با کمک هم تقسیم رو هم بنویسیم

mnakhaei
چهارشنبه 05 بهمن 1384, 12:35 عصر
سلام
این جور کارها رو باید دقیقا اول روی کاغذ تحلیل کنید. بعد دقیقا عین همون روشی که روی کاغذ تقسیم میکنیم میشه پیاده سازیش کرد. خوشبختانه خود روشهای ضرب و تقسیم اعداد حالت الگوریتمیک دارند.
یه روز میخوام وقت بگذارم و یک کلاس کامل برای اینکارها بنویسم البته با optimize کردن. یعنی مثلا اینطوری نباشه که رقم به رقم ضرب کنه.
ممنون علی

خیلی کار خوبیه.حتما این کار رو انجام بدین ما هم از راهنمایی هاتون استفاده می کنیم

maryam_70
چهارشنبه 30 اردیبهشت 1388, 11:02 صبح
سلام
تفريق دو تا آرايه :

void main(){
int a[10],b[10],c[10]
cout<<"enter a"<<endl;
for(int i=0;i<10;i++)
cin>>a[i];
cout<<"enter b"<<endl;
for(i=0;i<10;i++)
cin>>b[i];
int r=0;
for(i=9;i>=0,i--)
if (a[i]>b[i])
r=a[i]-b[i]
if(a[i]<b[i])


تا اينجاشو بلدم
بغيشو كمكم كنيد

maryam_70
چهارشنبه 30 اردیبهشت 1388, 11:04 صبح
خوب شما كه تفريقشو نوشتيد برا من بزاريدش