PDA

View Full Version : سوال: آرایه



tondar1991
دوشنبه 21 تیر 1389, 18:45 عصر
سلام. خوبین؟
میشه بگین که چطوری میشه 2تا عدد رو تو 2تا آرایه ی جدا وارد کنیم و برای جمع کردن اونا اعداد رو 5 تا 5 تا جدا کنیم و با هم جمع کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟مثلا اگه عددمون 23 رقمی بود چی؟ شرط حلقه ی for باید چجوری باشه و تا کی ادامه پیدا کنه؟ !!!!!

thx:لبخندساده:

HH2BN1990
دوشنبه 21 تیر 1389, 19:26 عصر
سلام. خوبین؟
میشه بگین که چطوری میشه 2تا عدد رو تو 2تا آرایه ی جدا وارد کنیم و برای جمع کردن اونا اعداد رو 5 تا 5 تا جدا کنیم و با هم جمع کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟مثلا اگه عددمون 23 رقمی بود چی؟ شرط حلقه ی for باید چجوری باشه و تا کی ادامه پیدا کنه؟ !!!!!

thx:لبخندساده:

این کاری که من انجام دادم اگه دوستان راه حل بهتری دارن بگن.
اول کل اعداد داخل آرایه رو به سمت راست شیفت میدیم مثل این


for(i=0; i<lena; i++) // Shift a , b to right edge
a[i + MAX-lena] = a[i];

بعد تک تک عضو هارو با هم جمع می کنیم شرط حلقه رو هم مثل زیر می زاریم.



int sum,carry=0,Max = 23;
for(i=MAX-1; i>=MAX-lena; i--) // Calculate the summation
{
sum = a[i] + b[i] + carry ;
c[i] = sum % 10;
carry = sum / 10;
}
if( carry != 0 ) // Check for last digit in result ( c )
c[i] = carry;
else
i++;

در آخر آرایه []c چاپ می کنیم

LORD AELX
دوشنبه 21 تیر 1389, 19:36 عصر
سلام. خوبین؟
میشه بگین که چطوری میشه 2تا عدد رو تو 2تا آرایه ی جدا وارد کنیم و برای جمع کردن اونا اعداد رو 5 تا 5 تا جدا کنیم و با هم جمع کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟مثلا اگه عددمون 23 رقمی بود چی؟ شرط حلقه ی for باید چجوری باشه و تا کی ادامه پیدا کنه؟ !!!!!

thx:لبخندساده:

من قبلا در جواب این سوال در تالار تیم امنیتی آشیانه صحبت کرده ام. لطفا به این آدرس مراجعه کنید: http://www.ashiyane.org/forums/showthread.php?t=26074

HH2BN1990
دوشنبه 21 تیر 1389, 19:47 عصر
راستی یادم رفت بگم این برنامه رو تو این سایت گذاشته بودم
http://www.parand.iranianmob.com/index.php/topic,241.msg619/topicseen.html#msg619

mohsensaghafi
سه شنبه 22 تیر 1389, 01:41 صبح
سلام دوست عزیز.
وقتی می خوای محاسباتت رو 5 تا 5 تا انجام بدی از سمت کم ارزش شروع می کنی. بعد 5 تا 5 تا اونها رو میاری و جمع رو انجام می دی. 10بر یک این مرحله وارد مرحله بعدی می شه که 5 تای بعدی رو می خوای محاسبه کنی.
برای مرحله آخر هم یادمون باشه که 0 پشت عدد ارزشی نداره. پس تا پر شدن تمام 5 خانه 0 وارد پشت عدد می کنیم.


00234 45678 87847 92301 09830
00034 34393 30949 09083 78432