PDA

View Full Version : سوال: جمع دو عدد 100 رقمی در C#‎



R2du-soft
چهارشنبه 15 خرداد 1392, 16:48 عصر
سلام دوستان
من میخوام دو عدد که حداکثر به 100 رقم یا حداقل که 50 رقم میرسن رو در 2 تکست باکس از کاربر بگیرم و باهم جمع کنم و در تکست سوم نشون بدم ، اما از هرروشی رفتم برنامه نمیتونه این عدد بسیار بزرگ رو اجرا بگیره و جواب بده ، درنهایت خطا میده ، تمام نت رو هم ازجمله فرومهای خارجی زیر و رو کردم مشکل رفع نشد.
عزیزان میتونید راهنماییم کنید؟! یکم عجله دارم ، ممنون :قلب:

manij_mhm
چهارشنبه 15 خرداد 1392, 17:04 عصر
حتما باید از توابع آماده استفاده کنید؟ خودتون می تونید یه تابع یا یه عملگر برای جمع کردن بنویسید.

ashkufaraz
چهارشنبه 15 خرداد 1392, 17:08 عصر
رشته ورودی را داخل یک آرایه قرار بده
هر عددی داخل یک خانه
بعد این دو آرایه را خانه به خانه جمع کن

R2du-soft
چهارشنبه 15 خرداد 1392, 18:10 عصر
چطور؟! داخل یک خانه قرار بدم؟!

keyvan_s89
چهارشنبه 15 خرداد 1392, 19:42 عصر
سلام
بفرمائید.
http://barnamenevis.org/attachment.php?attachmentid=104573&d=1369303280

R2du-soft
چهارشنبه 15 خرداد 1392, 19:49 عصر
داداشی این 51 تا عدد میگیره!
باید حداقل 50 تا و حداکثر 100 تا باشه!
و ضرب میکنه!
جمع میخوام!

keyvan_s89
چهارشنبه 15 خرداد 1392, 19:52 عصر
خوب خیلی سادس. خودتون روش کار کنید اگه مشکلی بود در خدمتم.
چون هدف یادگیریه نه کپی برداری
موفق باشید.:چشمک:

vistacali
چهارشنبه 15 خرداد 1392, 20:01 عصر
دوست عزیز باید اینطوری تقریبا کار کنید ولی من نوع داده هام intبوده نوع string است ،نوع string هم ارایه ای از کاراکتر ها است
ممکنه وقتی دو مقدار رو جمع مکینی بزرگتر از ده بشن که باید سمت راست ترین رو نگه داری و بقیه رو ببری روی عدد های دیگه
ممکنه دو عدد وارد شده دارای طول یکسانی نباشن و .... قضایاش با خودت بنویس کمک خواستی در خدمتیم


int[] arr1 = new int[] { 1, 2, 3 };
int[] arr2 = new int[] { 1, 2, 3 };
int[] arr3 = new int[3];

for (int i = 0; i < 3; i++)
{
arr3[i] = arr1[i] + arr2[i];
}
for (int i = 0; i < 3; i++)
{
Console.Write(arr3[i].ToString());
}

R2du-soft
چهارشنبه 22 خرداد 1392, 02:19 صبح
دوستان میشه راهنمایی کنید که اگه بخوام داخل همین نمونه برنامه ای که دوستموم گزاشتن (پستهای بالا) بخوام یه دکمه + هم بزاریم که اعداد طولانی رو بتونه ضرب کنه یعنی یه عدد 100 رقمی در 100 رقمی رو چیکار باید کرد؟!من کدشو مینویسم اما از اعداد طولانی ساپورت نمیکنه و خطا میده برنامم! کد میخوام دوستان،مرسی

erfan_urchin
چهارشنبه 22 خرداد 1392, 02:59 صبح
خب دقیقا همون کدی که دوستمون گذاشتنو بنویس فقط به جای جمع ، ضرب بزار
یعنی اینجوری
int[] arr1 = new int[] { 1, 2, 3 };
int[] arr2 = new int[] { 1, 2, 3 };
int[] arr3 = new int[3];

for (int i = 0; i < 3; i++)
{
arr3[i] = arr1[i] * arr2[i];
}
for (int i = 0; i < 3; i++)
{
Console.Write(arr3[i].ToString());
}

R2du-soft
چهارشنبه 22 خرداد 1392, 09:06 صبح
اون کدهاش درسته،فقط باید یه دکمه اضافه کنم که کردم،زیر دکمه باید چه کدی نوشته بشه که عددی 100 رقمی که توی تکست باکس هست رو جمع کنه و ارور نده،دقیقا میخوام تو برنامه هم ضرب اعداد 100 رقمی هم جمع و هم تفزریقش باشه

R2du-soft
چهارشنبه 22 خرداد 1392, 13:31 عصر
دوستان به کمک نیاز دارم کسی نیست؟

erfan_urchin
چهارشنبه 22 خرداد 1392, 17:41 عصر
اون کدهاش درسته،فقط باید یه دکمه اضافه کنم که کردم،زیر دکمه باید چه کدی نوشته بشه که عددی 100 رقمی که توی تکست باکس هست رو جمع کنه و ارور نده،دقیقا میخوام تو برنامه هم ضرب اعداد 100 رقمی هم جمع و هم تفزریقش باشه

اگه منظورتو درست فهمیده باشم منظورت اینه که چجوری اعداد داخل تکست باکسو بریزی توی آرایه (درسته؟)
پیشنهاد من اینه که از کد زیر استفاده کنی:
string s = textBox1.Text;
int i = 0;
while (i<100)
{
arr1[i] = Convert.ToInt16(s[i].ToString());
i++;
}
این کد برای ریختن اعداد textBox1 داخل arr1 هستش ، دقیقا همین کارو برای ریختن اعداد textBox2 تو arr2 انجام بدین
و در نهایت مثل کد پست های قبل آرایه ها رو جمع کنید
موفق باشید

ایمان مدائنی
چهارشنبه 22 خرداد 1392, 17:46 عصر
لینک زیر روببین شاید به کارت اومد

لینک (http://www.madaeny.com/Article/718/)

شما کافیه به جای ضرب جمعشون کنی

erfan_urchin
پنج شنبه 23 خرداد 1392, 03:20 صبح
بله. لینکی که آقای مدائنی دادن هم کاملا درسته و خیلی روش استاندارد تر و منطقی تر نسبت به آرایه ها هستش فقط یه نکته ای که توش داره اینه که using System.Numerics رو باید از طریق Add Reference اضافه کنید به visual studio و بعد از کلاس BigInteger استفاده کنید

R2du-soft
پنج شنبه 23 خرداد 1392, 03:58 صبح
دوستان میشه یه نمومه کد برای جمع کردن بزارید؟! من دقیقا 4 روزه میخوام جمع کنم هرکاری میکنم برنامش درست در نمیاد! دقیقا میخوام 2 عدد 100 رقمی رو جمع کنم

erfan_urchin
شنبه 25 خرداد 1392, 22:13 عصر
دوستان میشه یه نمومه کد برای جمع کردن بزارید؟! من دقیقا 4 روزه میخوام جمع کنم هرکاری میکنم برنامش درست در نمیاد! دقیقا میخوام 2 عدد 100 رقمی رو جمع کنم

BigInteger a = new BigInteger(Convert.ToDouble(textBox1.Text));
BigInteger b = new BigInteger(Convert.ToDouble(textBox2.Text));
textBox3.Text = (a + b).ToString();

R2du-soft
شنبه 25 خرداد 1392, 23:26 عصر
مرسی دوستان مشکلم خیلی وقته حل شده،ممنون به خاظر دوستان عزیز به خاطر راهنماییشون