امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
تحلیل و توضیح کد سی پلاس پلاس
نویسنده پیام
haricanboy آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: آذر ۱۳۹۲

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #1
Question  تحلیل و توضیح کد سی پلاس پلاس
سلام
از دوستان لطفا هر کی بلده این کدها رو برای من توضیح بده لطفاً
کد:
#include<iostream.h>
#include<conio.h>
#include<string.h>

#define max 200

class bi
{
int a[max];
public:
bi();
bi(char []);
bi add(bi);
bi zarb(bi);
void print();
};

bi::bi()
{
for(int i=max;i>=0;i--)
a[i]=0;
}

bi::bi(char b[])
{
int str,k=0,i;
str=strlen(b);
for(i=max-str;i<max;i++)
a[i]=(int)b[k++]-48;
for(i=0;i<max-str;i++) a[i]=0;

}

bi bi::add(bi z)
{
bi t("000");
for(int i=max-1;i>=0;i--)
{
t.a[i-1]=(a[i]+z.a[i]+t.a[i])/10;
t.a[i]=(a[i]+z.a[i]+t.a[i])%10;
}
return t;
}


bi bi::zarb(bi z)
{
bi t("0000");
int i,j,k=max-1;
for(i=max-1;i>=0;i--)
{
for(j=max-1;j>=0;j--)
{
t.a[k-1]=(a[i]*z.a[j]+t.a[k])/10+t.a[k-1];
t.a[k]=(a[i]*z.a[j]+t.a[k])%10;
k--;
}
k=i-1;
}
return t;
}



void bi::print()
{
int j;
for(int i=0;i<max;i++)
if(a[i]) {j=i;break;}
for(i=j;i<max;i++)
cout<<a[i];
cout<<endl<<"*************************************  **********\n";
}


void main()
{
clrscr();
char *int1,*int2;
cin>>int1>>int2;
bi a(int1),b(int2),c("000");
cout<<"Sum: ";
c=a.add(b);c.print();
cout<<"Mul: ";
c=a.zarb(b);c.print();
getch();
}
این برنامه اعداد بزرگ رو جمع و ضرب میکنه
تو توربو سی پلاس پلاس نوشته شده
من میخوام بدونم چجوری کار میکنه روال کارش چطوریه
هر کی بلده کدهاش رو برام توضیح بده
ممنون
۲۷-آذر-۱۳۹۲, ۲۲:۰۳:۳۵
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: تحلیل و توضیح کد سی پلاس پلاس
اینهمه کد رو توضیح بدیم؟ Biggrin جاهای حساسشو توضیح میدم Biggrin

کد php:
class bi 
یعنی میخواییم یه کلاس بسازیم؛ و اجزای کلاس رو توش تعریف میکنم

کد php:
bi:: 
با استفاده از این؛ اون اجزایی از کلاس bi رو که نوشته بودیم تعریف میکنیم؛
مثلا:
کد php:
bi bi::zarb(bi z
یعنی نابع zarb که از کلاس bi هست و ۲ تا پارامتر میگیره و خروجیش یه کلاس دیگه از کلاس bi هست Biggrin

کد php:
bi a(int1),b(int2),c("000"); 
یسری متغیر از اون کلاس bi درست کرده؛

بقیه قسمت‌هاش هم که سادت دیگه Biggrin
۲۷-آذر-۱۳۹۲, ۲۲:۴۱:۵۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, haricanboy
haricanboy آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: آذر ۱۳۹۲

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: تحلیل و توضیح کد سی پلاس پلاس
ممنون
لطفاً کل کدهای تابع ضرب و جمع رو توضیح بدین
و همینطور این رو define max 200
۲۷-آذر-۱۳۹۲, ۲۳:۰۵:۳۵
ارسال‌ها
پاسخ
haricanboy آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 1
تاریخ عضویت: آذر ۱۳۹۲

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #4
RE: تحلیل و توضیح کد سی پلاس پلاس
این قسمت دقیقاً یعنی چی؟
کد:
bi::bi(char b[])
{
int str,k=0,i;
str=strlen(b);
for(i=max-str;i<max;i++)
a[i]=(int)b[k++]-48;
for(i=0;i<max-str;i++) a[i]=0;

}
چرا منهای 48 شده؟؟؟
کلاً این تابع کارش چیه تو برنامه؟
۲۸-آذر-۱۳۹۲, ۱۶:۰۶:۲۹
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سورس کد محاسبه جذر یک عدد در سی پلاس پلاس Ghoghnus 0 628 ۱۱-خرداد-۱۴۰۰, ۲۳:۵۹:۳۶
آخرین ارسال: Ghoghnus
  مثال ناتریکس با سی پلاس پلاس Ghoghnus 0 775 ۰۳-دى-۱۳۹۹, ۱۴:۵۶:۳۳
آخرین ارسال: Ghoghnus
  [سوال] دانلود فایل و فشرده سازی در سی پلاس mirage0411 7 4,154 ۰۵-مرداد-۱۳۹۶, ۰۹:۵۳:۰۲
آخرین ارسال: babyy
  [سوال] دانلود فایل با سی پلاس mirage0411 3 3,861 ۱۹-آبان-۱۳۹۵, ۰۰:۴۳:۰۹
آخرین ارسال: babyy
  [فوری] توضیح برنامه leilooooon 4 2,908 ۰۴-شهریور-۱۳۹۵, ۰۸:۰۸:۲۴
آخرین ارسال: alimogmov
  محيط برنامه نويسي ويژوال سي پلاس پلاس چيست؟ nanosi 1 2,507 ۰۳-شهریور-۱۳۹۲, ۱۹:۰۶:۰۴
آخرین ارسال: lord_viper
  در خواست تحلیل کد Multistage graphs rezayavari 0 1,952 ۳۰-اردیبهشت-۱۳۹۲, ۲۳:۰۳:۳۲
آخرین ارسال: rezayavari
Question ### توضیح یه قطعه برنامه نسبتا ساده (جهت ارایه برای استاد !! ) #### IT.M@N 2 3,107 ۱۷-اردیبهشت-۱۳۹۱, ۱۰:۴۶:۱۲
آخرین ارسال: sjh
  انتقال کد از ویژال سی پلاس پلاس به ویژال استادیو تینا-رستگار 1 2,578 ۲۸-فروردین-۱۳۹۱, ۰۶:۰۳:۲۲
آخرین ارسال: one hacker alone
  تجزیه و تحلیل یه کد سخت! RAMA2009 0 1,860 ۲۰-اسفند-۱۳۹۰, ۲۳:۰۷:۱۷
آخرین ارسال: RAMA2009

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS